Nagiosでエラーを示したサーバーの多くの問題を修正しましたが、問題が修正されたにもかかわらず、何らかの理由でアラートがまだアップしています。だから私は疑問に思っていました、すべてのホストを強制的にチェックする方法はありますか?
最も簡単な方法は、Nagiosを再起動することです。再起動すると、新しいチェックサイクルが開始されます。
だから私は疑問に思っていました、すべてのホストを強制的にチェックする方法はありますか?
_SCHEDULE_FORCED_Host_SVC_CHECKS
_ 外部コマンドはあなたが探しているものです。
すべてのホストを取得するには、 MK Livestatus を見てください。
_# echo -e 'GET hosts\nColumns: Host_name' | unixcat /usr/local/nagios/var/rw/live
_
次に、_SCHEDULE_FORCED_Host_SVC_CHECKS
_コマンドにパイプします。
echo -e 'GET hosts\nColumns: Host_name' | unixcat /usr/local/nagios/var/rw/live | while read Host; do echo "[$(date +%s)] SCHEDULE_FORCED_Host_SVC_CHECKS;$Host;$(date +%s)\n" $(date +%s) >> /usr/local/nagios/var/rw/nagios.cmd; done
Nagiosのサンプルスクリプトと外部コマンド「SCHEDULE_FORCED_Host_SVC_CHECKS」に基づくbashスクリプトを次に示します。
#!/bin/sh
# This is a sample Shell script showing how you can submit the SCHEDULE_Host_SVC_CHECKS command
# to Nagios. Adjust variables to fit your environment as necessary.
now=`date +%s` commandfile='/usr/local/nagios/var/rw/nagios.cmd'
for i in hosts/*.cfg
do
SITE=$(grep Host_name $i | head -1 | sed 's/Host_name//' | tr -d '[:blank:]')
/usr/bin/printf "[%lu] SCHEDULE_Host_SVC_CHECKS;${SITE};1110741500\n" $now > $commandfile
done
https://github.com/joshforcier/nagiosForceImmediateCheck
以下は、複数のホスト/サービスの即時チェックを強制するNagios XIコンポーネントです。