Monitoring
Nagios - 在同一服務上檢查 procs 和 –metric=elapsed
在網上工作和搜尋了很多天之後,我將作為最後的幫助機會回复您。我實際上正在使用帶有 nrpe 的 nagios core 4.4.3 監視 unix 程序。
我的目標是檢查:使用命令“java”的確切 1 個程序從最多 23 小時開始執行,僅使用一項服務
這個過程每天都會重新開始。
低於我在 client_host (/etc/nagios/nrpe.cfg) 上的內容:
command[check_java]=/usr/lib64/nagios/plugins/check_procs -c 1:1 -C java command[check_java_elapsed]=/usr/lib64/nagios/plugins/check_procs -c :82800 --metric=ELAPSED -C java
在伺服器上(/usr/local/nagios/etc/client_host.cfg):
define service{ use generic-service host_name client_host service_description java_elapsed check_command check_nrpe!check_java check_period 24x7 max_check_attempts 3 normal_check_interval 1 retry_check_interval 2 } define service{ use generic-service host_name client_host service_description perl_elapsed check_command check_nrpe!check_java_elapsed check_period 24x7 max_check_attempts 3 normal_check_interval 1 retry_check_interval 2 }
總而言之,我想將這兩種服務結合在一個服務中
似乎命令 check_procs 並沒有提供兩者都做的意見。我建議創建一個包裝腳本或將這兩個命令放在一起進行配置。
像這樣的東西:
command[check_java_elapsed]=/usr/lib64/nagios/plugins/check_procs -c 1:1 -C java && /usr/lib64/nagios/plugins/check_procs -c :82800 --metric=ELAPSED -C java
我已經在 Debian 上的 nrpe 中對此進行了測試,它應該可以工作。如果第一次和第二次通過,基本上你會得到返回碼 0,否則你只會得到第一個(當 java 沒有執行時,檢查經過的時間沒有意義)