Monitoring

Nagios - 在同一服務上檢查 procs 和 –metric=elapsed

  • February 6, 2020

在網上工作和搜尋了很多天之後,我將作為最後的幫助機會回复您。我實際上正在使用帶有 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 沒有執行時,檢查經過的時間沒有意義)

引用自:https://serverfault.com/questions/1002017