NRPE:check_aacraid - 用過這個?
我
Unable to read output
從這個 NRPE 測試中得到了同樣的舊資訊。我可以在這台機器上執行其他測試,我可以su - nagios -c "<path to check_aacraid>"
在本地執行時執行它。查看
/var/log/messages
顯示該過程已打開並啟動 - 它似乎沒有返回任何 NRPE 可以消化的消息。我還能用什麼來調試它?我已經設置並且我將 nagios設置
debug = 1
為. (是的,這是一個很大的安全漏洞。我急於完成這項工作)nrpe.cfg``sudo``NOPASSWD:ALL
兩個系統(nagios 伺服器和 NRPE 客戶端)都是 CentOS 6.2。
編輯:
要從 Nagios 伺服器進行測試,我一直在使用 cmdline:
/usr/local/nagios/libexec/check_nrpe -H <IP of nrpe machine> -c check_aacraid
如果我嘗試
check_users
或check_total_procs
(NRPE 安裝附帶的預設值),這可以正常工作。如果我將這些命令之一重命名為stuff
並將其與-c
to一起傳遞,它也可以工作check_nrpe
。這讓我相信問題不在於伺服器端 nagios。在客戶端,我所做的唯一更改
NRPE.CFG
(測試之外 - 見上文)是添加一行:command[check_aacraid]=/usr/local/sbin/check-aacraid.py
否則一切都是預設的。
我可以在以身份登錄時執行此命令
nagios
,也可以通過su - nagios -c "cmd"
.
我想說的是
PATH
,互動式 shell 中的 漂亮而長,包含了所有check_aacraid
需要的東西,但是 NRPEPATH
又短又甜,缺少你需要的東西。選擇您最喜歡的增強PATH
for的方法,check_aacraid
您的所有問題都有可能消失。順便說一句,NRPE 的一般診斷方法是查看
strace -f -s 1024
NRPE 伺服器的 PID,然後看看會發生什麼。通常很明顯出了什麼問題。
腳本中的 sudo 可能會失敗,因為 NRPE 執行時它不在 tty 上。檢查 /etc/sudoers:
Default requiretty
並將其註釋掉。