自宅サーバで職場のWebサーバの動作確認を行っているけど、WordPress で MySQL が落ちた際に、Webサーバとしては動いているけど、ページが正しく表示できていないことを検出できていなかった。Webサーバに MySQL のステータスチェックをさせる方法もあるかもしれないけど、その Webサーバは自分の管理でもないし、icinga などを入れることもできない。
最近の鯖管なら、zabbix を入れるのが普通なのかもしれないけど、我が家は時代遅れなので古い古い nagios を経て 古い icinga にて運用中。
そこで、nagios-plugin の check_http には、Webサーバの応答データに特定文字が含まれるか確認する機能があるので、それを導入。
# 動作確認用のcommand を登録 define command { command_name check_https_expect_string command_line /usr/lib/nagios/plugins/check_http \ --ssl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' \ -s '$ARG1$' } # 監視対象のサーバ define host { host_name fnct-www (略) } # HTTPS の返答を確認し、WordPressが正しく動いていれば # 含まれていそうな文字の有無をチェック define service { use generic-service ; host_name fnct-www service_description HTTPS-EXPECT check_command check_https_expect_string!福井工業高等専門学校 }