Linux
檢查NFS時如何調試Nagios“NRPE:無法讀取輸出”?
我有一個有效的 Nagios 設置,例如,出於安全原因,我通過 NRPE 守護程序監視磁碟使用情況,而無需通過 NRPE 解析參數。所以我知道NRPE有效。
現在我想使用check_mountpoints外掛檢查 NFS,但我得到了
NRPE: Unable to read output
在 Nagios Monitor 主機上,我已設置
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
為了驗證是否給出了正確的參數,命令輸出這個
[root@nas ~]# /usr/lib/nagios/plugins/check_mountpoints.sh /nas1/home OK: all mounts were found ( /nas1/home) [root@nas ~]#
Nagios 監控主機和遠端主機都執行著一個正常工作的 NRPE 守護程序。
問題
我該如何調試這樣的東西?
根據我的經驗,此錯誤是由於缺少權限引起的。您嘗試以 root 身份執行 nrpe 客戶端腳本。嘗試以執行 nrpe 守護程序的使用者身份執行它。這應該給你一個關於原因的提示。如果這沒有幫助,請嘗試執行
strace usr/lib/nagios/plugins/check_mountpoints.sh /nas1/home
作為 nrpe 使用者。
我有同樣的問題,很多時候是許可。設置權限或使用 sudoers 解決它。
嘗試使用 nrpe/nagios 使用者 (su - nrpe) 登錄並嘗試執行該命令。
其他可能是 selinux,嘗試禁用是測試:
echo 0 > /selinux/enforce