如何在检查NFS时debuggingNagios“NRPE:无法读取输出”?

我有一个工作Nagios的设置,我例如通过NRPE守护进程监视磁盘使用情况,而不是通过NRPEparsing参数出于安全原因。 所以我知道NRPE是有效的。

现在我想使用check_mountpoints插件检查NFS,但是我得到了

NRPE: Unable to read output 

在Nagios监视器主机上,我已经设置

 define command { command_name check_mountpoints command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -p 5666 -c check_mountpoints } define service { use generic-service name check_mountpoints host_name example.com service_description Check_mountpoints for nfs cifs davfs check_command check_nrpe!check_mountpoints contact_groups linux-admins } 

在我设置的远程主机上

 command[check_mountpoints]=/usr/lib/nagios/plugins/check_mountpoints.sh /nas1/home 

为了validation命令输出是否正确,

 [root@nas ~]# /usr/lib/nagios/plugins/check_mountpoints.sh /nas1/home OK: all mounts were found ( /nas1/home) [root@nas ~]# 

Nagios监视器主机和远程主机都有一个正在运行的NRPE守护程序。

我如何debugging这样的东西?

根据我的经验,这个错误是由于缺less权限造成的。 您尝试以root身份执行nrpe客户端脚本。 尝试执行它作为nrpe守护进程正在运行的用户。 这应该给你一个暗示的原因。 如果这没有帮助,请尝试运行

 strace usr/lib/nagios/plugins/check_mountpoints.sh /nas1/home 

作为nrpe用户。

我有同样的问题,很多时候是许可。 设置权限或使用sudoers解决它。

尝试使用nrpe / nagios用户(su – npe)login并尝试运行该命令。

其他可能性是selinux,尝试禁用是testing:

 echo 0 > /selinux/enforce 

要解决这个问题,而不使nagios插件世界可读和/或世界可执行,请将nrpe用户添加到nagios组。