今天在寫 Nagios Plugin 遇到的,從 Nagios 可以正常執行,但是從 NRPE 去執行就會失敗。失敗的時候顯示這個訊息:
1 |
NRPE: Unable to read output |
使用下面的 script 來檢查,最後查出是因為 PATH 的問題:
1 2 3 |
#!/bin/sh echo $PATH; |
這段程式在 Nagios 顯示:
1 |
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin://bin |
但是在 NRPE 卻是:
1 |
/sbin:/bin:/usr/sbin:/usr/bin |
因此就會發生某些程式無法執行的問題,最簡單的方法就是用完整路徑去執行程式,這樣也比較容易安裝到其它機器去執行。
另外,從本機測試 NRPE 會比每次都從遠端 Nagios 來的方便:
1 |
/usr/local/libexec/nagios/check_nrpe2 -H 127.0.0.1 -c check_something |