Ubuntu 12.04上的Nagios NRPE“无法读取输出”

正确的点。

NRPE.CFG修改:

添加Nagios主机允许:

 allowed_hosts = 127.0.0.1,192.168.1.10

command_prefix=/usr/bin/sudo前删除了#

之后,我已经重新加载服务。

 /etc/init.d/nagios-nrpe-server重新启动

我也编辑过/etc/sudoers

 #用户权限规范
根ALL =(ALL:ALL)ALL
 nagios ALL = NOPASSWD:/ usr / lib / nagios / plugins /

运行:

 $ ./check_users -w 5 -c 10
用户行 -  1个用户当前login|用户= 1; 5; 10; 0

作品,我得到我的结果

运行:

 su nagios -c“./check_users -c 2 -w 2”

没有任何解决办法。

从Nagios主机到新的远程系统,我可以运行:

  check_nrpe -H 192.168.1.20 

结果我得到了NPRE v2.12

我已经检查过Nagios是所有者的插件文件夹,但仍然没有去。

任何提示将有所帮助。

(是的,我已经search了一个10-20线程,但仍然没有去)

在我看来,您的sudoers文件中没有“requiretty”行,请确保您有以下行:

 Defaults:nagios !requiretty 

这意味着,只有nagios用户不需要有一个tty运行一个命令,这就是为什么我怀疑你的命令失败。

如果你不确定哪个用户运行nagios,你可以在configuration文件中检查它,通常位于/etc/nagios/nrpe.cfg

如果我遇到过这个问题,我想首先确保nagios用户能够成功运行该命令,为了做到这一点,我将启用nagios用户login到机器的能力,通过编辑它在/etc/passwd来自:

 nagios:x:113:120::/var/lib/nagios:/bin/false 

至:

 nagios:x:113:120::/var/lib/nagios:/bin/bash 

然后,我会su - nagios继续我的故障排除,然后,在解决问题后,我会将此行更改回/bin/false

请检查在重新启动服务时nrpe进程是否完全被终止 。 我曾经有同样的问题。 使用:

 ps -ef | grep nrpe 

检查过程是否仍在运行,然后:

 kill -9 `ps -ef | grep nrpe | awk '{print $2}'` 

命令手动杀死它。

你能够成功执行与sudo的check_users(作为用户运行nrpe)? 即。

 sudo ./check_users -c 2 -w 2 

CentOS有没有必要在sudoers文件的最前面? 如果是这样,这可能是罪魁祸首。 您可以尝试暂时全局禁用它,或者只是禁用它为nagios用户。

可能与nagios用户有关的问题。 请检查nagios用户是否有权执行插件。
插件的权限应该是这样的:

  rwxr-xr-x 1 nagios nagios 163831 May 30 2016 check_users