Nagios
Nagios 的 check_ntp_time 偶發套接字超時
Check_ntp_time 在我的所有主機上偶爾都失敗了。我通常收到
CRITICAL - Socket timeout after 10 seconds
幾分鐘後 check_ntp_time 成功並顯示正確的偏移量
NTP OK: Offset 0.0001899003983 secs
我嘗試將 check_ntp_time 命令超時提高到 20 秒,但它以相同的速度失敗。我嘗試從 ntp.conf 中刪除 nopeer 和 noquery 無濟於事(這是有道理的,因為如果這是問題所在,它將在 100% 的時間內失敗)。它在隨機時間失敗並在之後立即成功的事實真的讓我失望。還值得注意的是,它不會同時對所有主機失敗,通常一次失敗 1 到 3 台主機。知道是什麼原因造成的嗎?
我的
check_ntp_time
命令如下所示:define command{ command_name check_ntp_time command_line $USER1$/check_ntp_time -H pool.ntp.org -t 20 -w 1 -c 3 }
編輯:
公制最小值。最大限度。平均
檢查執行時間:0.00 秒 20.00 秒 1.153 秒
檢查延遲:0.00 秒 0.00 秒 0.000 秒
狀態變化百分比:0.00% 31.84% 0.86%
每秒 2 次檢查(每個 CPU 0.5 次)
這已通過更改我配置為檢查正確時間的 ntp 伺服器來解決。很可能所有伺服器同時查詢它,它阻止了一些請求。我最終指向了一個內部 ntp 伺服器,它本身正在從以前使用的源中獲取時間。
這是因為檢查嘗試通過 IPv6 連接由“-t”指定的一半超時,然後它回退到 IPv4。所以你可以將超時時間減少到 10 秒,你應該在 5 秒內得到響應:
[root@server ~]# time /usr/lib64/nagios/plugins/check_ntp_time -q -H time1.google.com -w 1 -c 2 -t 10 NTP OK: Offset 0.0004314184189 secs|offset=0.000431s;1.000000;2.000000; real 0m5.767s user 0m0.843s sys 0m4.908s
或者您可以僅通過“-4”使用 IPv4,然後您將在 < 1 秒內得到響應:
[root@server ~]# time /usr/lib64/nagios/plugins/check_ntp_time -q -H time1.google.com -4 -w 1 -c 2 -t 10 NTP OK: Offset 0.0006598234177 secs|offset=0.000660s;1.000000;2.000000; real 0m0.401s user 0m0.003s sys 0m0.007s