像MIUI一样做Zabbix二次开发(2)——Zabbix与商业及开源产品的比较分析

Zabbix的特点

Zabbix是一个基于WEB界面的提供分布式系统监控的开源解决方案,通过浏览器监视,做到告警分级处理、网络访问安全可控,该开源平台在全球有广泛的用户基础,他的特点:

开放性:源代码全公开,任何用户都可以编译和发布自己的版本。同时,社区和互联网可以找到大量的模版。

可扩展性:支持用户自定义监控项,只要能想得到的KPI,基本都能监控的到。

数据采集:可用性和性能检测,自动发现,支持agent、SNMP、JMX、telnet等多种采集方式,支持主动和被动模式数据传输

高可用:server对设备性能要求低,支持proxy分布式监控,分布式集中管理,开放式接口,扩展性强

告警管理:支持多条件告警,支持多种告警方式,

模板能力:支持多组模板,模板继承。

告警设置:告警周期,告警级别,告警恢复通知、告警暂停,时段阈值、支持维护周期、支持单机停用

历史数据:历史数据查询可配置,内置housekeeping数据清理机制

安全审计:具备安全的用户审计日志,权限认证,用户可以限制允许维护的列表。

无商业版本:平台本身没有商业版和社区版本的区分,ZABBIX只对商业服务收费(如培训、定制开发、部署服务等)。

等等

Zabbix的全栈监控能力:官网有一句非常“嚣张“的话,Monitor everything!

像MIUI一样做Zabbix二次开发(2)——Zabbix与商业及开源产品的比较分析_第1张图片
像MIUI一样做Zabbix二次开发(2)——Zabbix与商业及开源产品的比较分析_第2张图片

与其他商业产品对比

各个大厂都有提供相关监控产品,比如说微软的SCOM,IBM的Tivoli,华为的Esight,HP的BSM等,如果环境都是单一的某一家厂家的产品,用该厂家提供的监控工具肯定是合适的,笔者就曾经深度使用过SCOM,2005年还叫MOM,是System Center中的一个套件,这个产品对于微软周边的产品如AD、Exchange、Windows、SQL Server、SharePoint、Lync等监控非常深入,同时微软官方还提供了相关故障知识库,报表也做得非常不错,九一乐维团队甚至在2011年以前还拿SCOM做过定制开发。

但是,如果拿SCOM去监控Linux、AIX、Oracle或者网络通讯设备就显得不合适了。

Zabbix很好地平衡了监控的深度和广度,而且源于开源的力量,在全球用户的持续贡献下,他的深度和广度是在持续不断地延展的。

以下引用翔华兄(Shawn沙恩)的一张图说明Zabbix的深度和广度,见:https://www.jianshu.com/u/c7663d8c3fa8。

像MIUI一样做Zabbix二次开发(2)——Zabbix与商业及开源产品的比较分析_第3张图片

与其他开源项目对比

前文提到在IT Central Station中,Nagios X排在Zabbix的前面,九一乐维团队在定技术方向时,也深刻对比过,两者简言之:Zabbix安装好后,做一些简单的设置基本上就可以用了,Nagios X部署完成后相关于只是一个平台,然后需要安装第三方插件才能取作用。

详细对比如下:

当然,市面上还有诸如:Open-Falcon、Zenoss、Ganglia、Prometheus、Cacti等开源产品,简单分析如下:

Open-Falcon:小米开源,时间不长,成熟度有待提高,现在的版本是V1.0

Zenoss:区分社区版和企业版本,资源消耗高,社区版本有些鸡肋

Ganglia:适合监控系统性能,成熟度和完整度不高,如报警、消息系统,需要更多二次开发

Prometheus:开源的业务监控和时序数据库,刚发布2.0,在稳定性、性能、文档上仍有很大提升空间,互联网上可用资料,案例还不丰富

Cacti:通过 SNMPget来获取数据,使用 RRDtool绘画图形,画图功能强大,报警机制及相关功能不完善。

以上这些产品,我认为Prometheus会是个不错的方向,最根本是他的时序数据库,有兴趣的读者可以先行先试。

你可能感兴趣的:(像MIUI一样做Zabbix二次开发(2)——Zabbix与商业及开源产品的比较分析)