首页 > 代码库 > 【运维监控】四款云服务监控工具介绍:Nagios 、 ganglia、zabbix、onealert
【运维监控】四款云服务监控工具介绍:Nagios 、 ganglia、zabbix、onealert
在我们日常的工作中,有时候需要监控和管理平台的运行状况,而服务运行是否存在异常,是否有软硬件bug等,均需要第一时间知道。对服务状态了如指掌,是一个很重要的事情。那么这个如何做到呢,我们之前在进行私有云平台研发过程中,曾经用过一些工具,在一定程度上能帮到大家,这里记录一下,希望对有需要的同学有帮助。
一些常见的监控、告警工具:Nagios 、 ganglia、zabbix、onealert
3、简单地插件设计使得用户可以方便地扩展自己服务的检测方法;
4、并行服务检查机制;
5、具备定义网络分层结构的能力,用"parent"主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态;
6、当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、短信、用户定义方式);
7、具备定义事件句柄功能,它可以在主机或服务的事件发生时获取更多问题定位;
8、自动的日志回滚;
9、可以支持并实现对主机的冗余监控;
10、可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等;
每台计算机都运行一个收集和发送度量数据的名为 gmond 的守护进程。接收所有度量数据的主机可以显示这些数据并且可以将这些数据的精简表单传递到层次结构中。正因为有这种层次结构模式,才使得 Ganglia 可以实现良好的扩展。gmond 带来的系统负载非常少,这使得它成为在集群中各台计算机上运行的一段代码,而不会影响用户性能。所有这些数据多次收集会影响节点性能。网络中的 "抖动"发生在大量小消息同时出现时,可以通过将节点时钟保持一致,来避免这个问题。
gmetad可以部署在集群内任一台节点或者通过网络连接到集群的独立主机,它通过单播路由的方式与gmond通信,收集区域内节点的状态信息,并以XML数据的形式,保存在数据库中。
由RRDTool工具处理数据,并生成相应的的图形显示,以Web方式直观的提供给客户端。
Ganglia包括如下几个程序,他们之间通过XDR(xml的压缩格式)或者XML格式传递监控数据,达到监控效果。集群内的节点,通过运行gmond收集发布节点状态信息,然后gmetad周期性的轮询gmond收集到的信息,然后存入rrd数据库,通过web服务器可以对其进行查询展示。
zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
?zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系统之上。
zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。
另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。
zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
等等
Zabbix主要功能:
- CPU负荷
- 内存使用
-磁盘使用
- 网络状况
- 端口监视
- 日志监视。
Zabbix传统告警方法
Email:调用 sendmail 、sendEmail 等脚本通过 SMTP 发送邮件
飞信:飞信已经退出历史舞台,不再有人使用
189/139:发送邮箱邮件至邮箱,邮箱将短信转到用户手机短信,存在一定的延迟
微信:需要申请一个微信公众号,并接入API,整个流程比较复杂,而且存在会话时间限制
短信:众多短信网关收费不同、稳定性也不确定,需要通过API接入
传统告警 VS OneAlert
在整个使用过程中,得出了传统告警方式的不足以及给个了 OneAlert 告警的功能,具体如下:
传统告警方式的不足
- Zabbix 邮件告警经常发不出去
- 如需短信告警,要么购买短信猫要么购买短信 API,整个流程太麻烦
- 微信告警需要申请公众号以及 API 接入,而且会话有时间限制
- 夜间的告警基本成为一个摆设,试问谁能被微弱的短信声叫醒
- 阿里云、腾讯云、Zabbix 各种系统告警都需要单独配置,工作繁琐
- 普遍缺少告警分析
- 139/189 发送告警存在明显的延迟
OneAlert告警功能
- 告警 All In One,支持微信、邮箱、短信、APP、电话告警
- 支持接入 Zabbix、Nagios、阿里云、腾讯云、监控宝等等告警信息
- 灵活的分配策略,可灵活的分配告警信息发送给相关人员
- 微信、邮箱、app 等告警方式全部免费
【运维监控】四款云服务监控工具介绍:Nagios 、 ganglia、zabbix、onealert