![Nagios NRPE 无法读取远程系统上的输出](https://linux22.com/image/692103/Nagios%20NRPE%20%E6%97%A0%E6%B3%95%E8%AF%BB%E5%8F%96%E8%BF%9C%E7%A8%8B%E7%B3%BB%E7%BB%9F%E4%B8%8A%E7%9A%84%E8%BE%93%E5%87%BA.png)
我在服务器上使用 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。