环境介绍
OS: Ubuntu 10.10 Server 64-bit
Servers:
zabbix-server:10.6.1.181
zabbix-client-1:10.6.1.182
Zabbix官方Wiki
https://www.zabbix.com/wiki/start
1. 初识Zabbix
Zabbix是一个基于WEB界面的分布式开源监控系统,主要由2部分构成,Zabbix server与Zabbix agent,同时也支持Zabbix proxy。
我首次听说Zabbix,是因为看到一篇文章:Tired of Nagios and Cacti? Try Zabbix.
在此之前我只简单的用过 Cacti 和 Nagios,且一些同样做运维的哥们儿也都是用的这两款开源软件。
因此,在看到这样一个标题之后,感觉很新奇就粗略的了解了一下,当时并没有去实践。人总是对已经熟悉的东西拥抱而排斥陌生的东西。而现在,我们已经将Zabbix大量的应用到了线上环境。在日常的监控中,深切的体验到了Zabbix的高效快捷和优秀的扩展能力。
Zabbix的底层采集程序是用C语言编写的Server与Agent,而用户界面是通过php编写web,采用MySQL数据库来存储数据。
整个Zabbix其实就是一个框架,其中内置了一些针对各类OS的系统参数采集命令,可以直接调用,而其它的自定义监控参数,则可以通过自己来写一些快捷的Shell命令通过管道传递,或通过各种脚本甚至程序来传递。Zabbix只管把最后的返回值通过agent拿到,存储统计,绘图,根据定义的阈值进行报警等。
说到这里,其实所有的监控系统差不多都是这样的逻辑,所以真正有差别的地方是在最后功能的整合和易用性上。而Zabbix之所以好用,就是因为它整合的相当好,拿来之后就能用,agent安装简单方便,server端配置,完善的用户界面,绘图,报警和扩展等都非常方便。在做电信项目的时候,与电信的一款付费的商业软件对比,丝毫不逊色,以至于电信的维护人员都主动找我来学习Zabbix的安装与配置方法,打算替换他们的监控系统。
1.2 功能对比
介绍到这里,我们不如用一个图片来简单的对比一下目前各个主流的监控系统。
1.3 界面展示
下面,是我一台生产环境的主界面,可以看到一些磁盘空间不足的报警(用绿色区块遮住了主机名等敏感信息)。
其中横排菜单中的Web,Latest data,Triggers,Graphs,Screens等则分别对应HTTPCheck类监控,快捷查看各个采集的最新数据,阈值,绘图以及图形报表。
1.4 接着,我们可以开始以下过程
好了,至此,我们算是对Zabbix有了一个初步的认识,那么接下来,就开始下面的步骤。