哈哈
社区投稿专栏Z-share
All the great stories~
白
1

监控利器介绍
文| 凌枫



Nagios是一款开源的系统和网络监视工具,能有效监控Windows、Linux的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
Nagios原名为NetSaint,由Ethan Galstad开发并维护至今。NAGIOS是一个缩写形式: "Nagios Ain't Gonna Insist On Sainthood" Sainthood 翻译为圣徒,而"Agios"是"saint"的希腊表示方法。Nagios被开发在Linux下使用,但在Unix下也工作得非常好。
Nagios 系统提供了一个插件NRPE。Nagios 通过周期性的运行它来获得远端服务器的各种状态信息。它们之间的关系如下图所示:

特点
1.监控网络服务(SMTP、POP3、HTTP、NNTP、PING等);
2.监控主机资源(处理器负荷、磁盘利用率等);
3.简单地插件设计使得用户可以方便地扩展自己服务的检测方法;
4.并行服务检查机制;
5.具备定义网络分层结构的能力,用"parent"主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态;
6.当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、短信、用户定义方式);
7.具备定义事件句柄功能,它可以在主机或服务的事件发生时获取更多问题定位;
8.自动的日志回滚;
9.可以支持并实现对主机的冗余监控;
10.可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等;
缺点:
1.事件控制台功能弱,插件易用性差
2.对性能和流量等指标的处理比较差
3.没有历史数据,只能实时报警,出错后难以追查故障原因
4.难以扩展,因为它不支持任何类型的集群。而且配置起来也比较麻烦,会涉及到大量服务器与客户端之间的复制


Cacti是一套基于PHP、MySQL、SNMP、RRDTool开发的开源的网络流量监测图形分析工具。他是通过SNMPGET来获取数据,使用RRDTOOL绘画图形,以WEB界面展示采集数据以便于使用者进行分析。
Cacti架构一般分为三层,数据展示层,数据存储层,数据采集层。数据采集层是利用SNMP和脚本配合使用,采集数据发送到存储层,使用MySQL和RRDTOOL储存和更新数据,最后使用WEB服务和PHP配合,将数据呈现给使用者。
逻辑图:

特点
1.基于RRDTOOL使得运行高效,跨平台,支持的平台RedHat 、windows 、solaris、CentOS 、SUSE
2.基于WEB配置与监控,操作简单,界面友好,图形丰富,多模板和自定义模板支持
3.可扩展性强,支持二十种的插件,丰富的插件资源,大大提高了cacti的功能。
4.监控项目曲线图多样化,RRDTOOL图片生成工具提供多种参数,可定制图形外观。
缺点:
1.Cacti主要的功能强大在于他的画图功能,所以说它的其他功能都是靠它的插件来完成的,我们必须手动去添加所需插件。例如:当我们需要报警功能是,我们必须安装thold插件。
2.复用性差,多种设备监控需要自建模板。
3.SNMP协议的中文名叫简单网络管理协议,所以SNMP协议的安全性不高

Zabbix是一个基于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等平台上。
逻辑图

特点
1.数据采集:可用性和性能检测,自动发现,支持Agent、SNMP、JMX、TELNET等多种采集方式,支持主动和被动模式数据传输、支持用户自定义插件,自定义间隔收集数据,支持多平台的企业级分布式开源监控软件
2.高可用:Server对设备性能要求低,支持proxy分布式监控,分布式集中管理,有自动发现功能,可以实现自动化监控;开放式接口,扩展性强,插件编写容易
3.告警管理:支持多条件告警,支持多种告警方式,支持多组模板,模板继承。
4.告警设置:告警周期,告警级别,告警恢复通知、告警暂停,时段阈值、支持维护周期、支持单机停用
5.图形化展示:自带画图功能,得到的数据可以绘成图形,允许自定义创建多监控项视图,网络拓扑,自定义面板展示,自定义IT服务可用性
6.历史数据:历史数据查询可配置,内置housekeeping数据清理机制
7.安全审计:具备安全的用户审计日志,权限认证,用户可以限制允许维护的列表。
8.故障处理:可远程处理故障(调用脚本或者执行命令)
9.API接口:提供多种API接口,支持调用脚本
缺点
1.性能瓶颈,监控系统没有低估高峰期,具有持续性和周期性,机器量越大,数据的增大会使数据库的写入成为一定的瓶颈,官网给出的单机上限5000台,届时就需要增加proxy,增加成本。
2.Zabbix采集数据有pull方式,也就是server主动模式,当目标机器量大之后,pull任务会出现积压。采集数据会延迟
3.项目批量修改不方便,需要从MySQL进行切入
4.内置housekeeping在执行过程中会对数据库增加压力,需要进行drop分区
5.入门容易,能实现基础的监控,但是深层次需求需要非常熟悉Zabbix并进行大量的二次定制开发,难度较大;
6.缺少数据汇总功能,如无法查看一组服务器平均值,需进行二次开发;

open-falcon是小米运维部开源的一款互联网企业级监控系统解决方案,最新版本为falcon-plus
逻辑图:

特点
1.数据采集:自动发现,支持falcon-agent、snmp、支持用户主动push、用户自定义插件支持。
2.水平扩展能力:支持每个周期上亿次的数据采集、告警判定、历史数据存储和查询
3.告警策略管理:高效的portal、支持策略模板、模板继承和覆盖、多种告警方式、支持callback调用
4.告警设置:最大告警次数、告警级别、告警恢复通知、告警暂停、不同时段不同阈值、支持维护周期
5.高效率的graph组件:单机支撑200万metric的上报、归档、存储(周期为1分钟),
6.历史数据query组件:采用rrdtool的数据归档策略,秒级返回上百个metric一年的历史数据
7.图形化展示:多维度的数据展示,用户自定义Screen和单机agent状态页
8.高可用:整个系统无核心单点,易运维,易部署,可水平扩展
缺点
1.发布时间短,无专门社区支撑,解决问题比较慢
2.功能的不完善,需要各种插件的支持,自定义插件比较麻烦
3.模板绑定单一,会在某些监控上无法做到统一性,比如进程端口,执行进行单机设定,在大量设备情况下,会产生繁琐的工作性质
4.没有默认模板,默认监控项比较少,不采集的数据需要从agent端进行关闭,根据机器的不同需求,修改agent配置工作量增大。
5.没有安全审计以及权限系统,前端不支持用户认证,直接注册即可进入。不利于安全以及用户控制。

欢迎投稿
内容
与运维、Zabbix相关即可
方式
私信Z小秘(微信&电话 18818218642)
关于投稿专栏
主要为大家提供一个展现自己的平台,作者观点不等同Z社区观点~
欢迎读者在评论区留言讨论哝~
关于投稿专栏
主要为大家提供一个展现自己的平台,作者观点不等同Z社区观点~
欢迎读者在评论区留言讨论哝~
一键关注
关注公众号
加入社区(备注Zabbix)






