Nagios
自動 NRPE 檢查會產生警告,但在手動執行時有效
我正在使用 Nagios 監控幾台主機。當我使用在監視主機上執行的“正常”檢查(例如,
check_http
)時,這可以正常工作。但是,我在使用基於 NRPE 的檢查時遇到了麻煩,這些檢查是通過受監控主機上的 NRPE 服務執行的。我已經在受監控主機的 NRPE 配置中聲明了我的自定義命令,例如
command[check_memory]=/usr/lib/nagios/plugins/check_memory -w 20% -c 10% -u G
然後我在監控主機的 Nagios 配置中創建了相應的 Nagios 命令:
define command { command_name my_check_nrpe command_line /usr/lib/nagios/plugins/check_nrpe -H '$HOSTALIAS$' -c '$ARG1$' } define service { use my-service service_description Free memory check_command my_check_nrpe!check_memory check_interval 15 }
nagios
當我使用使用者(服務在其下執行)在監視主機上手動執行這些檢查時,這些檢查工作正常nagios
:nagios@monitor:~$ /usr/lib/nagios/plugins/check_nrpe -H 'my.target.host' -c 'check_memory' MEMORY OK - 0G free | free=956080128b;419844915.2:;209922457.6:
但是,我不斷收到來自 Nagios 的有關該服務的電子郵件警告:
***** Nagios ***** Notification Type: PROBLEM Service: Free memory Host: my.target.host Address: XXX.XXX.XXX.XXX State: WARNING Date/Time: $ Additional Info: $
我還沒有設法獲得有關警告的更多詳細資訊。監控主機上的 Nagios 日誌僅顯示已發送警告:
[1500623961] SERVICE NOTIFICATION: my-mailbox;my.target.host;Free memory;WARNING;notify-by-email;(null) [1500627561] SERVICE NOTIFICATION: my-mailbox;my.target.host;Free memory;WARNING;notify-by-email;(null)
我還為 Nagios 啟動了最大調試輸出:
debug_level=-1 debug_verbosity=2
但是,
/var/lib/nagios3/nagios.debug
不包含任何感興趣的內容:[1500630464.420189] [064.1] [pid=21171] Making callbacks (type 9)... [1500630464.420243] [064.1] [pid=21171] Making callbacks (type 9)... [1500630464.420308] [064.1] [pid=21171] Making callbacks (type 9)... [1500630464.420389] [064.1] [pid=21171] Making callbacks (type 9)... [1500630464.421086] [064.1] [pid=21171] Making callbacks (type 7)... [1500630464.421767] [064.1] [pid=21174] Making callbacks (type 9)...
同樣,我在受監控的主機 (
debug=1
) 上啟用了 NRPE 服務的調試輸出,但 NRPE 日誌只告訴我我的check_memory
命令已成功添加。我正在執行 NRPE 3.0.1-3 和 Nagios 3.5.1。
如何解決此問題或收集有關該問題的更多資訊?
事實證明,在監控伺服器上執行了一個重複的 Nagios 程序,該程序不受重新啟動服務的影響,因此繼續使用舊的、有缺陷的配置版本。雖然我們無法重建我們如何結束兩個 Nagios 程序,但殺死重複的程序解決了這個問題。