Nagios NRPE 无法读取远程系统上的输出

Nagios NRPE 无法读取远程系统上的输出

我在服务器上使用 check_disk 命令运行 NRPE。我已设置 sudo,并且该命令在服务器上以 nagios 用户身份正常运行。

command[check_disk]=/usr/bin/sudo /usr/local/nagios/libexec/check_disk -w 10% -c 5% -x /dev/cdrom -x /dev/shm -x /nfs01 -x /nfshome -x /mnt/hlmon01/shared -x /mnt/hlmon01/shared -A -i '.gvfs'

/usr/bin/sudo /usr/local/nagios/libexec/check_disk -w 10% -c 5% -x /dev/cdrom -x /dev/shm -x /nfs01 -x /nfshome -x /mnt/hlmon01/shared -x /mnt/hlmon01/shared -A -i '.gv fs' 
DISK OK - free space: / 44730 MB (93% inode=98%); /boot 351 MB (78% inode=99%); /var/lib/xenstored 5593 MB (99% inode=99%); /poolfsmnt/0004fb0000050000577933960ee5846b 102134 MB (99% inode=99%); /OVS/Repositories/0004fb0000030000755a9cd0ee8ac4da 1736686 MB (33% inode=33%);| /=2962MB;45241;47754;0;50268 /boot=95MB;428;452;0;476 /var/lib/xenstored=0MB;5033;5313;0;5593 /poolfsmnt/0004fb0000050000577933960ee5846b=265MB;92160;97280;0;102400 /OVS/Repositories/0004fb0000030000755a9cd0ee8ac4da=3506194MB;4718592;4980736;0;5242880

当我在 nagios 服务器上运行此命令时,出现以下错误:

./check_nrpe -H test_server -c check_disk 
NRPE: Unable to read output

有人能帮我调试一下吗?

谢谢

答案1

您好,您使用哪个用户运行:/usr/bin/sudo /usr/local/nagios/libexec/check_disk -w 10% -c 5% -x /dev/cdrom -x /dev/shm -x /nfs01 -x /nfshome -x /mnt/hlmon01/shared -x /mnt/hlmon01/shared -A -i '.gv fs'?

尝试先执行“su - [您的 nagios 代理运行的用户]”来运行此命令。

答案2

这很可能会selinux阻止sudo的访问。请尝试在您正在监控的服务器上暂时nrpe禁用selinux

setenforce permissive

如果这样可以解决问题,那么您需要决定是否愿意将其永久化,或者是否准备更新 selinux 策略以使其正常工作。如果您查看,/var/log/audit/audit.log您应该会看到导致问题的拒绝。

这里有一些相关问题的讨论 - SELinux 阻止 Nagios 插件在 RHEL6 上运行 这是关于 Red Hat 衍生的发行版,我不确定您在这些系统上使用哪个版本的 Linux。

相关内容