nagios和zabbix安装笔记


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

nagios

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

服务器server01上执行

sudo apt-get install nagios3 nagios-nrpe-plugin

设置nagios管理员的密码:

sudo htpasswd /etc/nagios3/htpasswd.users nagiosadmin

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

sudo apt-get install nagios-nrpe-server

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

allowed_hosts=ip of server01

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

sudo /etc/init.d/nagios-nrpe-server restart

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

sudo cp /etc/nagios3/conf.d/localhost_nagios2.cfg /etc/nagios3/conf.d/server02.cfg

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

define host{
        use                     generic-host
        host_name               server02
        alias                   Server 02
        address                 ip of server02
}

重启server01上的nagios

sudo /etc/init.d/nagios3 restart

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

zabbix

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

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

wget http://repo.zabbix.com/zabbix/2.0/debian/pool/main/z/zabbix-release/zabbix-release_2.0-1wheezy_all.deb
sudo dpkg -i zabbix-release_2.0-1wheezy_all.deb
sudo apt-get update

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

sudo apt-get install mysql-server

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

character-set-server=utf8

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

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

sudo service mysql restart

server01安装zabbix:

apt-get install zabbix-server-mysql zabbix-frontend-php

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

date.timezone = UTF

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

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

sudo apt-get install zabbix-agent

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

Server=Zabbix.Server.IP.Address
Hostname=Hostname_Of_Current_Machine

接下来重启agent

sudo service zabbix-agent restart

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

,