Nagios CHECK_NRPE:从守护进程接收数据时出错。 RHEL 6

所以我试图在Red Hat服务器上设置一个Nagios check_load服务。 我遵循Red Hat的文档来安装NRPE客户端: https : //access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/3/html/Installation_and_Configuration_Guide/Installing_and_Configuring_NRPE.html

在Nagios GUI上,我得到这个:

CHECK_NRPE: Error receiving data from daemon. 

但是,当我loginNagios服务器进行debugging时,看起来像我可以从terminal运行这个罚款:

 root@portalmon:/Nagios# /usr/local/nagios/libexec/check_nrpe -H 10.0.XX.XXX -c check_load -t 30 OK - load average: 0.15, 0.10, 0.04|load1=0.150;15.000;30.000;0; load5=0.100;10.000;25.000;0; load15=0.040;5.000;20.000;0; 

所以我不认为这是一个权限问题。 我认为这是一种path问题,但我不明白为什么这是行不通的。 任何人都可以帮忙吗?

这是我的服务描述:

 define service{ use dev-service host_name [DEV] Luminis Admin DEV Portal service_description CPU-Load check_command check_nrpe!"check_load" } 

我想知道如果我运行上面的terminal命令,我甚至会调用相同的服务。

编辑 :我想通了这个问题。 现在正在研究决议。 我改变了Nagios的debugging模式,通过查看/usr/local/nagios/var/nagios.debug我意识到正在运行的命令是

 /usr/local/nagios/libexec/check_nrpe -n -t 60 -H <hostname> -c check_load 

代替

 /usr/local/nagios/libexec/check_nrpe -H 10.0.XX.XXX -c check_load -t 30 

所以有些东西是附加在“-n”,这是造成问题。 第二个命令返回我想要的,但第一个返回

 CHECK_NRPE: Error receiving data from daemon. 

编辑2 :找出它,但我没有足够的声誉提交它作为一个有效的答案,所以下面是我input的。

我能解决我的问题。 这就是我所做的。

  1. 在Nagios.cfg中,我打开了debugging模式并find了debugging文件的位置。
  2. 拖尾debugging日志时复制该问题。 发现Nagios执行的命令与我所期望的不同。 它附加了无SSL标志(-n)。
  3. 在commands.cfg中,我search了check_nrpe。 发现它正在用-n执行命令。 还有一个名为check_secure_nrpe的命令,它运行check_nrpe时不带-n标志。
  4. 编辑我的服务描述来使用check_secure_nrpe而不是check_nrpe。
  5. 重新启动Nagios。

该服务现在按预期工作。

我能解决我的问题。 这就是我所做的。

  1. 在Nagios.cfg中,我打开了debugging模式并find了debugging文件的位置。
  2. 拖尾debugging日志时复制该问题。 发现Nagios执行的命令与我所期望的不同。 它附加了无SSL标志(-n)。
  3. 在commands.cfg中,我search了check_nrpe。 发现它正在用-n执行命令。 还有一个名为check_secure_nrpe的命令,它运行check_nrpe时不带-n标志。
  4. 编辑我的服务描述来使用check_secure_nrpe而不是check_nrpe。
  5. 重新启动Nagios。

该服务现在按预期工作。

你的回答很有帮助,谢谢。

还有另一个解决scheme。 您可以编辑objects/commands.cfg ,并从check_nrpe命令中删除-n

通过这种方式,您可以继续使用check_nrpe而不是check_secure_nrpe