nagios和zabbix安装笔记

nagios和zabbix都是用于监控的软件。前者我在《网站运维:保持数据实时的秘技》这本书中看到,后者是在之前杭州的某个分享会议上听小米的运维(他们的博客)了解到的。以下是我在vagrant+virtualbox的虚拟机上的安装测试。

nagios

参考是ubuntu的nagios文档。没有使用nagios大部分文档中讲到的编译安装。

服务器server01上执行

设置nagios管理员的密码:

这时可以通过 http://server01/nagios3 访问nagios,用户名和密码分别是nagiosadmin和刚才你设置的管理员密码。
另外默认server01是纳入监控范围的。
在需要监测的服务器server02上执行

为了把server02纳入监控范围,需要做以下操作:
修改server02的/etc/nagios/nrpe.cfg,记得ip of server01为server01的实际IP地址。

修改完server02的配置之后,重启nrpe-server

在server01上增加server02的配置,先复制localhost的配置

修改里面的配置,记得ip of server02为实际server02的IP地址

重启server01上的nagios

大概过一会儿就会有server02了。

zabbix

zabbix是参考zabbix的文档一篇博客

默认zabbix貌似是不在apt-get的库中的,所以按照zabbix的文档,安装一个zabbix的源包(注意,以下命令针对debian7):

安装了源包之后,可以安装zabbix了。
server01先安装mysql

设置好mysql的root密码之后,修改/etc/mysql/my.cnf设置

按照zabbix的文档,debian7这步是可选的,不过个人有“utf8强迫症”……另外说明以下,debian7上mysql的版本应该是5.5,如果上面的配置导致mysql不能启动的话,记得按照/var/log/syslog中的错误提示修改。

修改好mysql的配置之后,重启mysql

server01安装zabbix:

安装过程中会要求配置账号什么的,把zabbix在mysql中的登录账号和密码记下,否则之后要重置。
现在可以通过 http://server01/zabbix 访问了,一开始出现的是安装界面,按照上面的要求修改和配置。
比如会遇到php的date.timezone问题,需要修改 /etc/php5/apache2/php.ini

之后的就是填写之前的zabbix的数据库账号,服务器自身地址等。然后你就进入zabbix的主界面了。
默认zabbix是不监控localhost的。接下来继续设置server02。

用同样的方式给server02安装zabbix的源包,和server01不同,server02只安装agent:

修改server02的配置/etc/zabbix/zabbix_agentd.conf,设置zabbix server和server02的hostname

接下来重启agent

此时zabbix server貌似不会发现server02,在zabbix的管理界面上,Configuration – Hosts找到localhost,点进去后点击Clone,修改相应的配置对应server02,包括最下面的状态为“Monitored”后保存。
大概过一会儿,你就可以在Monitoring – Latest Data中看到server02了。