web-dev-qa-db-ja.com

Nagios-任意の瞬間にコマンドを使用してすべてのホストを強制的にチェックすることは可能ですか?

Nagiosでエラーを示したサーバーの多くの問題を修正しましたが、問題が修正されたにもかかわらず、何らかの理由でアラートがまだアップしています。だから私は疑問に思っていました、すべてのホストを強制的にチェックする方法はありますか?

5
Itai Ganot

最も簡単な方法は、Nagiosを再起動することです。再起動すると、新しいチェックサイクルが開始されます。

3
John Gardeniers

だから私は疑問に思っていました、すべてのホストを強制的にチェックする方法はありますか?

_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

2
quanta

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
1
Bach

https://github.com/joshforcier/nagiosForceImmediateCheck

以下は、複数のホスト/サービスの即時チェックを強制するNagios XIコンポーネントです。

0
Josh