我有一台Nagios机器,用来监视许多linux \ windows服务器。 我一个星期前开始在这里工作,并得到了一个在Nagios下单的任务。 作为我的命令的一部分,我不得不添加2个Linux服务器到Nagios。 我已经在两台机器上安装了nagios-plugins和nrpe,另外,我已经validation了端口5666已经打开,并且在两台服务器上侦听,我可以看到在ps -aux | grep nrpe中运行的nrpe。 运行插件的用户是root用户。 **编辑:nrpe被configuration为作为守护进程运行,所以xinetd在这里不起作用,另外,检查/ var / log / messages | grep nrpe返回:
Sep 27 12:29:25 search-uk-1 nrpe[11708]: Starting up daemon Sep 27 12:29:25 search-uk-1 nrpe[11708]: Listening for connections on port 5666 Sep 27 12:29:25 search-uk-1 nrpe[11708]: Allowing connections from: avalon.office.incredimail.com,avalon.qa.incredimail.com,lu2.int.incredimail.com,lu2.ext.incredimail.com,206.82.140.185 Sep 27 12:30:54 search-uk-1 nrpe[11753]: Error: Could not complete SSL handshake. 1 Sep 27 12:37:33 search-uk-1 nrpe[11708]: Caught SIGTERM - shutting down... Sep 27 12:37:33 search-uk-1 nrpe[11708]: Cannot remove pidfile '/var/run/nrpe.pid' - check your privileges. Sep 27 12:37:33 search-uk-1 nrpe[11708]: Daemon shutdown Sep 27 12:37:33 search-uk-1 nrpe[12114]: Starting up daemon
任何通过Nagios正在监控的服务器都不启用SSL。 从Nagios服务器本身运行check_nrpetesting到远程服务器返回:
[root@lu2 ~]# /usr/lib/nagios/plugins/check_nrpe -H 10.0.80.98 -p 5666 NRPE v2.12 [root@lu2 ~]#
这是/etc/nagios/nrpe.cfg的内容:
log_facility=daemon pid_file=/var/run/nrpe.pid server_port=5666 nrpe_user=nagios nrpe_group=nagios allowed_hosts=127.0.0.1 dont_blame_nrpe=0 debug=0 command_timeout=60 connection_timeout=300 command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10 command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20 command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/mapper/VolGroup-lv_root command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200 include=/etc/nagios/command-im.cfg
我用Nagios监控主机中的一个文件来区分这个文件,发现没有什么区别。 手动运行命令返回正确的值。
这两个服务器中的每一个都没有工作: 
你的帮助是非常appriciated。
我看到一个特定的问题:您的nrpe.conf(客户端)中的allowed_hosts应设置为nagios监视器主控主机IP地址。 将其设置为本地主机意味着您的客户端和监视器主机是相同的主机(即本地),这是不太可能的。
另一种情况是,有时远程插件没有启用encryption,所以当nagios发出命令连接到远程npre失败。 您可以尝试使用和不使用SSL编码检查nrpe,通过-n切换到check_nrpe。
无论如何,请使用命令/ usr / lib / nagios / plugins / check_nrpe并从nagios监视器主服务器中检查远程主机nrpe。 你用这种方式得到了很多信息。
EX:/ usr / lib / nagios / plugins / check_nrpe -H HOSTNAME
如果nrpe没有运行在受监控的主机上,那么你不会得到任何回报。
在大多数情况下,这是一个权限问题…运行插件与sushell运行作为用户,通常执行它们,并检查他们的失败。