Nagios是网络管理方面最大的工具之一。Nagios可以监视远程主机的可达性以及在它们上运行的服务的状态。但是如果我们想监控远程主机上网络服务以外的东西怎么办?例如,我们可能想要监视远程主机上的磁盘利用率或CPU处理器负载。NagiosRemotePluginExecutor(NRPE)是一个可以帮助您完成这些操作的工具。NRPE允许您执行安装在远程主机上的Nagios插件,并将它们集成到现有的Nagios服务器中。本教程将介绍如何在已部署的Nagios中配置NRPE。本教程主要分为两部分:配置远程主机。配置Nagios监控服务器。然后,我们将通过定义一些NRPE可以使用的自定义命令来结束本教程。为NRPE配置远程主机第1步:安装NRPE服务您需要在每台要使用NRPE监控的远程主机上安装NRPE服务。每个远程主机上的NRPE服务守护进程将与Nagios监控服务器通信。NRPE服务所需的包可以使用apt-get或yum轻松安装,具体取决于平台。对于CentOS,由于NRPE不在CentOS仓库中,因此我们需要添加Repoforge仓库。对于Debian、Ubuntu或LinuxMint:#apt-getinstallnagios-nrpe-server对于CentOS、Fedora或RHEL:#yuminstallnagios-nrpe步骤2:准备配置文件配置文件/etc/nagios/nrpe.cfg是基于Debian或RedHat系统中类似。我们备份修改配置文件:#vim/etc/nagios/nrpe.cfg##NRPE服务端口可自定义##server_port=5666##允许Nagios监控服务器访问####注意:后面没有空格comma##allowed_hosts=127.0.0.1,X.X.X.X-IP_v4_of_Nagios_server##在下面的示例中,我们对参数进行了硬编码。##这些参数可以根据需要修改。##注意:对于CentOS64位用户,请使用/usr/lib64代替/usr/lib##command[check_users]=/usr/lib/nagios/plugins/check_users-w5-c10command[check_load]=/usr/lib/nagios/plugins/check_load-w15,10,5-c30,25,20command[check_hda1]=/usr/lib/nagios/plugins/check_disk-w20%-c10%-p/dev/hda1command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs-w5-c10-sZcommand[check_total_procs]=/usr/lib/nagios/plugins/check_procs-w150-c200现在的配置文件是ready,NRPE服务准备启动。第三步:初始化NRPE服务对于基于RedHat的系统,需要添加NRPE服务作为启动服务。对于Debian、Ubuntu、LinuxMint:#servicenagios-nrpe-serverrestart对于CentOS、Fedora或RHEL:#servicenrperestart#chkconfignrpeonStep4:VerifyNRPEservicestatusNRPE守护进程状态信息可以在系统日志中找到.对于基于Debian的系统,日志文件位于/var/log/syslog中,对于基于RedHat的系统,日志文件位于/var/log/messages中。这是一个示例日志供参考:nrpe[19723]:StartingupdaemonTheusedTCPport5666shouldbeopened.#网络统计-tpln|grep5666tcp000.0.0.0:56660.0.0.0:*LISTEN19885/nrpe#p#为NRPE配置Nagios监控服务器为NRPE配置现有Nagios监控服务器的第一步是在服务器上安装NRPE插件。第一步:安装NRPE插件当Nagios服务器运行在基于Debian的系统(Debian、Ubuntu或LinuxMint)上时,可以通过apt-get安装所需的包。#apt-getinstallnagios-nrpe-plugin插件安装完成后,稍微修改一下随插件一起安装的check_nrpe命令。#vim/etc/nagios-plugins/config/check_nrpe.cfg##默认命令会被覆盖##definecommand{command_namecheck_nrpecommand_line/usr/lib/nagios/plugins/check_nrpe-H'$HOSTADDRESS$'-c'$ARG1$'}如果Nagios服务器运行在基于RedHat的系统(CentOS、Fedora或RHEL)上,您可以通过yum安装NRPE插件。对于CentOS,需要添加Repoforge存储库。#yuminstallnagios-plugins-nrpe现在已经安装了NRPE插件,继续下面的步骤来配置Nagios服务器。第二步:为NRPE插件定义一个Nagios命令我们需要先在Nagios中定义一个命令来使用NRPE。#vim/etc/nagios/objects/commands.cfg##注意:对于CentOS64位用户,请使用/usr/lib64而不是/usr/lib##definecommand{command_namecheck_nrpecommand_line/usr/lib/nagios/plugins/check_nrpe-H'$HOSTADDRESS$'-c'$ARG1$'}第3步:添加主机和命令定义接下来定义远程主机和我们将在其上运行的命令。下面的示例定义了一个可以在远程主机上执行的命令。通常,您的配置需要根据您的需要进行更改。配置文件的路径在基于Debian和基于RedHat的系统上略有不同,但文件的内容完全相同。对于Debian、Ubuntu或LinuxMint:#vim/etc/nagios3/conf.d/nrpe.cfg对于CentOS、Fedora或RHEL:#vim/etc/nagios/objects/nrpe.cfgdefinehost{使用linux-serverhost_nameserver-1aliasserver-1addressX.X.X.X-IPv4_address_of_remote_host}defineservice{host_nameserver-1service_descriptionCheckLoadcheck_commandcheck_nrpe!check_loadcheck_interval1usegeneric-service}第四步:重启Nagios服务在重启Nagios之前,可以测试验证配置。对于Ubuntu、Debian或LinuxMint:#nagios3-v/etc/nagios3/nagios.cfg对于CentOS、Fedora或RHEL:#nagios-v/etc/nagios/nagios.cfg如果一切正常,我们可以重启Nagios服务.#servicenagiosrestart#p#为远程服务器上的NRPE安装配置自定义命令下面列出了一些可用于NRPE的自定义命令。这些命令在远程服务器的/etc/nagios/nrpe.cfg文件中定义。##当1、5、15分钟的平均负载分别超过1、2、1时进入警告状态##当1、5、15分钟的平均负载超过3、5、1时进入严重警告状态和3分别command[check_load]=/usr/lib/nagios/plugins/check_load-w1,2,1-c3,5,3##针对/home目录的空闲空间,设置警告级别为25%,严重警戒线为10%。##可自定义监控任意分区(如/dev/sdb1、/、/var、/home)command[check_disk]=/usr/lib/nagios/plugins/check_disk-w25%-c10%-p/home##process_ABC实例数超过10个时警告,超过20个严重警告##command[check_process_ABC]=/usr/lib/nagios/plugins/check_procs-w1:10-c1:20-Cprocess_ABC##WhenSeriouswarningwhennumberofinstancesofprocess_ABCfallbelow1##command[check_process_XYZ]=/usr/lib/nagios/plugins/check_procs-w1:-c1:-Cprocess_XYZ在nagios监控上安装服务器我们使用以下命令修改服务器中的NagiosMonitor服务定义以应用上面定义的自定义命令。服务定义可以写在定义所有服务的地方(例如/etc/nagios/objects/nrpe.cfg或/etc/nagios3/conf.d/nrpe.cfg)##示例1:检查进程XYZ##define服务{host_nameserver-1service_description检查进程XYZcheck_commandcheck_nrpe!check_process_XYZcheck_interval1使用通用服务}##示例2:检查磁盘状态##define服务{host_nameserver-1service_description检查进程XYZcheck_commandcheck_nrpe!check_valdisk1使用通用check_}All总而言之,NRPE是Nagios的强大扩展,它提供了高度可定制的远程服务器监控解决方案。使用NRPE,我们可以监控系统负载、运行进程、登录用户、磁盘状态和其他参数。希望这些可以帮助到你。via:http://xmodulo.com/2014/03/nagios-remote-plugin-executor-nrpe-linux.html作者:SarmedRahman译者:felixonmars校对:Caroline
