一、简介1、NRPE简介NRPE是Nagios的一个功能扩展,可以在远程Linux/Unix主机上执行插件。通过在远程服务器上安装NRPE插件和Nagios插件,Nagios监控平台可以提供服务器本地的情况,如CPU负载、内存占用、磁盘占用等,这里调用Nagios监控端Nagios服务器,远程监控主机称为Nagios客户端。Nagios监控远程主机的方式有很多种,包括SNMP、NRPE、SSH、NCSA等,下面介绍它是如何通过NRPE监控远程Linux主机的。NRPE(NagiosRemotePluginExecutor)是一个守护进程,用于在远程服务器上运行监控命令。用于让Nagios监控端根据安装方式触发远程主机的检测命令,并将检测结果返回给监控端。.其执行开销远低于基于SSH的检测方式,检测过程不需要远程主机的系统账户信息,安全性也高于SSH检测方式。2、NRPE的工作原理NRPE由两部分组成:check_nrpe插件:位于监控主机上nrpedaemon:运行在远程主机上,通常是被监控的agent注意:nrpedaemon需要Nagios-plugins插件的支持-中,否则守护进程无法做任何事情监控详细介绍了NRPE的工作原理。当Nagios需要监控远程Linux主机的服务或资源状态时:第一:Nagios会运行check_nrpe插件,告诉它要检查什么;第二:check_nrpe插件会连接远程的NRPEdaemon,使用的方式是SSL;然后:NRPE守护进程会运行相应的Nagios插件来执行检查;finally:NRPEdaemon会将校验结果返回给check_nrpe插件,插件再提交给nagios进行处理。2.在被监控端安装nagios-plugins插件和NRPE1,添加nagios用户[root@ClientNrpe~]#useradd-s/sbin/nologinnagios2,安装nagios-plugins,因为NRPE依赖这个插件[root@ClientNrpe~]#yum-yinstallgccgcc-c++makeopensslopenssl-devel[root@ClientNrpe~]#tarxfnagios-plugins-2.0.3.tar.gz[root@ClientNrpe~]#cdnagios-plugins-2.0.3[root@ClientNrpenagios-plugins-2.0.3]#./configure--with-nagios-user=nagios--with-nagios-group=nagios[root@ClientNrpenagios-plugins-2.0.3]#make&&makeinstall#注意:如何监控mysql需要添加--with-mysql3、安装NRPE[root@ClientNrpe~]#tarxfnrpe-2.15.tar.gz[root@ClientNrpe~]#cdnrpe-2.15[root@ClientNrpe-2.15]#./configure--with-nrpe-user=nagios\>--with-nrpe-group=nagios\>--with-nagios-user=nagios\>--with-nagios-group=nagios\>--enable-command-args\>--enable-ssl[root@ClientNrpenrpe-2.15]#makeall[root@ClientNrpenrpe-2.15]#makeinstall-plugin[root@ClientNrpenrpe-2.15]#makeinstall-daemon[root@ClientNrpenrpe-2.15]#makeinstall-daemon-config4,配置NRPE[root@ClientNrpe~]#grep-v'^#'/usr/local/nagios/etc/nrpe.cfg|sed'/^$/d'log_facility=daemonpid_file=/var/run/nrpe.pidserver_port=5666#监听端口nrpe_user=nagiosnrpe_group=nagiosallowed_hosts=192.168.0.105#Allowedaddress通常是Nagiosserverdont_blame_nrpe=0allow_bash_command_substitution=0debug=0command_timeout=60connection_timeout=300command[check_users]=/usr/userlocal/nagios/lib_exec/w5-c10command[check_load]=/usr/local/nagios/libexec/check_load-w15,10,5-c30,25,20命令[check_hda1]=/usr/local/nagios/libexec/check_disk-w20%-c10%-p/dev/hda1command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs-w5-c10-sZcommand[check_total_procs]=/usr/local/nagios/libexec/check_procs-w150-c2005,startNRPE#Startasadaemon[root@ClientNrpe~]#/usr/local/nagios/bin/nrpe-c/usr/local/nagios/etc/nrpe.cfg-d[root@ClientNrpe~]#netstat-tulpn|grepnrpetcp000.0.0.0:56660.0.0.0:*LISTEN22597/nrpetcp00:::5666:::*LISTEN22597/nrpe有两种管理nrpe服务的方式,nrpe有两种操作模式:-i#Runasaserviceunderrinetdorxinetd-d#Runasastandalonedaemon可以为nrpe编写启动脚本,让nrpe运行在standardalone模式下:[root@ClientNrpe~]#cat/etc/init.d/nrped#!/bin/bash#chkconfig:23458812#description:NRPEDAEMONNRPE=/usr/local/nagios/bin/nrpeNRPECONF=/usr/local/nagios/etc/nrpe.cfgcase"$1"instart)echo-n"StartingNRPEdaemon..."$NRPE-c$NRPECONF-decho"done.";;停止)echo-n“StoppingNRPEdaemon...”pkill-unagiosnrpeecho“完成。”;;重启)$0stopsleep2$0start;;*)echo"用法:$0start|stop|restart";;esacexit0[root@ClientNrpe~]#chmod+x/etc/init.d/nrped[root@ClientNrpe~]#chkconfig--addnrped[root@ClientNrpe~]#chkconfignrpedon[root@ClientNrpe~]#servicenrpedstartStartingNRPEdaemon...done.[root@ClientNrpe~]#netstat-tnlpActiveInternetconnections(onlyservers)ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programnametcp000.0.0.0:220.0.0.0:*LISTEN1031/sshdtcp00127.0.0.1:250.0.0.0:*8/master11tcp000.0.0.0:56660.0.0.0:*LISTEN22597/nrpetcp00:::22:::*LISTEN1031/sshdtcp00::1:25:::*LISTEN1108/mastertcp00:::5666:::*LISTEN22597/nrpe3.在监控端安装NRPE1,安装NRPE[root@Nagios~]#tarxfnrpe-2.15.tar.gz[root@Nagios~]#cdnrpe-2.15[root@Nagiosnrpe-2.15]#./configure>--with-nrpe-user=nagios\>--with-nrpe-group=nagios\>--with-nagios-user=nagios\>--with-nagios-group=nagios\>--enable-command-args\>--enable-ssl[root@Nagiosnrpe-2.15]#makeall[root@Nagiosnrpe-2.15]#makeinstall-plugin#安装完成后会在Nagios安装目录libexec下生成check_nrpe插件[root@Nagios~]#cd/usr/local/nagios/libexec/[root@Nagioslibexec]#ll-dcheck_nrpe-rwxrwxr-x.1nagiosnagios767699月2808:07check_nrpe2、check_nrpe[root@Nagioslibexec]#./check_nrpe-hNRPEPluginforNagios的用法:09-06-2013许可证:GPLv2withexemptions(-lfororeinfo)SSL/TLSAavailable:AnonymousDHMode,OpenSSL0.9.6orhigherrequiredUsage:check_nrpe-H
