- 神劍2.0.3
- 國家核子計畫2.15
我們正在使用恩斯卡執行被動檢查。
define service {
name salt-service
register 0
active_checks_enabled 0
passive_checks_enabled 1
check_freshness 1
freshness_threshold 600
max_check_attempts 2
check_interval 5
retry_interval 3
}
define service {
use salt-service
service_description syncthing_procs-2
host_name x
check_command check_nrpe!syncthing_procs!10
display_name Syncthing Procs
}
雖然freshness_threshold
是 10 分鐘,但有時被動檢查會過時:
10 月6 日星期二09:52:36 x shinken:[2015 年10 月6 日星期二09:52:35] 警告:主機'x' 上的服務'syncthing_procs-2' 的結果在0d 0h 10m 16s 之前已過時(閾值=16714d 9h 42m) 35秒)。我正在強制立即檢查服務。
哦,threshold=16714d 9h 42m 35s
當我在配置文件中將其設置為 10 分鐘時,它是從哪裡來的?當然,Shinken VM 和主機「x」上的系統時間是相同的。
有很多服務都是這樣陳舊的。正如您所看到的,在被動檢查過時後,我們通常check_nrpe
會執行主動檢查。問題是現在我們有太多 nrpe 進程,這些進程似乎掛起:
nagios 31404 1 0 Sep18 ? 00:00:00 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d
nagios 31727 1 0 Oct01 ? 00:00:00 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d
nagios 31732 1 0 Oct01 ? 00:00:00 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d
nagios 32148 1 0 Sep30 ? 00:00:00 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d
nagios 32157 1 0 Sep30 ? 00:00:00 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d
我只是貼幾個。實際上,有超過 200 個進程。
那麼,除了錯誤的閾值之外,我還有另一個問題:為什麼之後會有這麼多nrpe進程?我知道在執行主動檢查時會分叉一個新進程。但檢查完成後它應該會消失吧?
啊,我知道第一個問題的答案了。
哦,當我在設定檔中將其設定為 10 分鐘時,閾值=16714d 9h 42m 35s 是從哪裡來的?
看起來 Shinken 和 Nagios 之間略有不同。它是以天/小時/分鐘/秒為單位的紀元時間。
expr $(date +%s) / 3600 / 24
16714
答案1
無法判斷您的情況到底出了什麼問題。所以這裡有一些想法:
我們使用 nsca 來執行被動檢查。為什麼之後有這麼多nrpe進程?我知道在執行主動檢查時會分叉一個新進程。不過檢查完之後應該會消失吧
看來nsca不能正常工作,然後進行了主動檢查。確保 nsca 有效。
儘管freshness_threshold是10分鐘,但存在被動檢查過時的情況
或 nsca 未配置為將被動結果傳送至 shinken
我知道在執行主動檢查時會分叉一個新進程。不過檢查完之後應該會消失吧
也許檢查尚未完成並且連接由另一方保留(shinken)