监控端nagios和被监控端都要安装NRPE
[root@localhost ~]#wget [root@localhost ~]# tar zxvf nrpe-2.8.1.tar.gz -C /usr/src[root@localhost ~]# cd /usr/src/nrpe-2.8.1/[root@localhost ~]#./configure[root@localhost ~]#make all [root@localhost ~]#make install-plugin[root@localhost ~]#make install-daemon [root@localhost ~]#make install-daemon-config [root@localhost ~]#make install-xinetd输出如下:
/usr/bin/install -c -m 644 sample-config/nrpe.xinetd /etc/xinetd.d/nrpe可以看到创建了这个文件/etc/xinetd.d/nrpe
监控端
定义监控命令check_nrpe
vi /usr/local/nagios/etc/commands.cfg,其内容如下:define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$}
被监控端:
编辑这个脚本vi /etc/xinetd.d/nrpe # default: on# description: NRPE (Nagios Remote Plugin Executor)service nrpe{ flags = REUSE socket_type = stream port = 5666 wait = no user = nagios group = nagios server = /usr/local/nagios/bin/nrpe server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd log_on_failure += USERID disable = no only_from = 127.0.0.1 (服务器IP) #在后面增加监控主机的地址0.111,以空格间隔}确保在/usr/local/nagios/libexec 目录中找到 "check_nrpe"这个插件! 在被监控主机上安装nagios-plugin[root@localhost ~]#useradd nagios [root@localhost ~]#passwd nagios[root@localhost ~]#tar xzvf nagios-plugins-1.4.9.tar.gz[root@localhost ~]#cd nagios-plugins-1.4.9[root@localhost ~]#./configure --prefix=/usr/local/nagios[root@localhost ~]#make && make install[root@localhost ~]#chown nagios.nagios /usr/local/nagios/[root@localhost ~]#chown -R nagios.nagios /usr/local/nagios/libexec/启动NRPE守护进程:(可以将此命令加入/etc/rc.local,以便开机自动启动)
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d如果没有出错,就基本搞定了。我们来验收一下,在本机上:
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1或者在nagios监控平台服务器上:/usr/local/nagios/libexec/check_nrpe -H $目标主机地址正常的返回值为被监控服务器上安装的NRPE的版本信息!安装完毕!常见错误以及解决方式:
1、CHECK_NRPE: Socket timeout after 10 seconds错误
这个错误是说nrpe进程再执行某个检测脚本时可能是大于10秒钟的,而默认的是10秒钟。所以会发报警信息,解决的方法是在commands.cfg加上-t 参数,即改变该命令的执行时间,避免超时.如下/usr/local/nagios/libexec/check_nrpe -H 192.168.1.1 -c check_load -t 30其中-t 30表示可以执行该命令的时间是30秒,然后重启nagios服务 2、CHECK_NRPE: Error -Could not complete SSL handshake错误这个报错主要是因为该服务器有多IP导致,解决办法就是将服务器的所有IP都增加到nrpe.cfp配置文件中的参数allowed_hosts中便可解决,如:allowed_hosts=127.0.0.1,192.168.1.11,192.168.1.8如果是用xinetd启动的,则在/etc/xinetd.d/nrpe文件中增加相关的IP,如:
only_from = 192.168.1.8 192.168.1.11 127.0.0.1
然后重启nrpe服务
3、nrpe日志不断产生
当发现被监控的服务器中/var/log/messeges信息很多,而且都是nrpe的运行日志,导致查看其他日志非常麻烦,并占用空间,因此不想再让nrpe产生日志,可以通过如下方法实现vi /etc/xinetd.d/nrpe增加一行log_type=file /dev/null这行的意思是产生的日志直接清空重启xinetd,nrpe的运行日志将不再产生