Nagiosでpingの応答が返ってこないサーバを監視する
Nagiosで死活監視をしているサイトのうち、サービスステータスが正常なのにホストステータスがダウンと表示される現象がおきました。ブラウザでも正常に表示することができます。
Host Check Timed Outと表示されています。
Host State Information Host Status: DOWN (for 1d 21h 58m 10s) Status Information: (Host Check Timed Out)
もう少し調べてみると、どうやらpingがとおらないホストが怪しいです。
そこで、Nagiosの標準設定を見てみます。
# 'check-host-alive' command definition define command{ command_name check-host-alive command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5 }
やはりホストの監視をpingでおこなっています。
今回はHTTPとHTTPSの監視が目的なので、HTTPチェックが通ればホストの状態を確認することができます。
そのため、ホストの生存確認をおこなわないコマンドを作成しました。
# 'nocheck-host-alive' command definition define command{ command_name nocheck-host-alive command_line $USER1$/check_dummy 0 }
check_dummyはNagiosに予め用意されているダミーコマンドです。
あとは、個別のホスト監視設定に作成したコマンドを指定します。
define host{ use linux-server host_name example.com alias example.com address 127.0.0.1 check_command nocheck-host-alive }
無事にすべてのホストが稼動状態になりました。