使用nagios 需要2台虚拟机,这2台虚拟机都需要安装nagios、nagios-plug、nrpe
监测主机IP:192.168.1.103 被监测主机IP:192.168.1.105
【服务端】
cp localhost.cfg 192.168.1.105.cfg
sed -i 's#localhost#192.168.1.105#g;s#127.0.0.1#192.168.1.105#g;s#check_local#check#g;s#linux-servers#192.168.1.105#g'192.168.1.105.cfg
sed -i '36a cfg_file=/usr/local/nagios/etc/objects/192.168.1.105.cfg'/usr/local/nagios/etc/nagios.cfg
删除192.168.1.105.cfg 中define description ssl define description http 之间的define service 【这些内容均未定义,检测时会报错,删掉即可】
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 没有报错就行
如需监测磁盘状态需要在192.168.1.105.cfg中添加
define service{
use local-service ; Name of service template to use
host_name 192.169.1.105
service_description sda1_Monitor
check_command check_nrpe!check_sda1 【使用 客户端 nrpe.cfg中的命令check_sda1】
notifications_enabled 1 【0为关闭,1为开启】
}
还需在etc/objects/command.cfg在添加check_nrpe的启动命令
define command{
command_name check_nrpe
command_line /usr.local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
【客户端】
修改/usr/local/nagios/etc/nrpe.cfg
command[check_sda1]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/sda1
客户端的nrpe.cfg中的check_sda1是服务端使用的命令,旨在调用客户端命令
/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/sda1
还需要在【服务端】的192.168.1.105.cfg加入如下配置段,引用【客户端】nrpe.cfg配置的check_sda1命令,命令格式一般为:check_nrpe!check_sda1。
【客户端】
sed -i 's#127.0.0.1#192.168.1.103,localhist'nrpe.cfg
allowed_hosts=192.168.1.103,localhost 【缺一不可,不然会报错cannot complete ssl connect】
【服务端】
开启nrpe服务:/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
执行: /usr/local/nagios/libexec/check_nrpe -H 192.168.1.105
报错:Connection refused by host
原因:【客户端】nrpe 未开启,开启需执行: /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
【服务端】显示:NRPE v2.14 表示链接成功。