Zabbixによる自動障害回復
WebサーバでIISが落ちたらたとえOSが動いていたとしてもそれはただの電気を食うだけの暖房機器です。
というわけで、IISが何らかの原因で停止してしまった場合に起動して上げるコマンドを送って上げるようにしました。もちろん、何かの原因があって起動できない場合は人手で原因を除去してあげなきゃ行けないわけですが。。。
前提として、Template OS Windowsを使用していること。これで、サービスが停止したときにトリガーが引かれるはずです。
Webサーバ側でZabbixリモートコマンドを実行できる設定にする。
zabbix_agentd.conf
### Option: EnableRemoteCommands
# Whether remote commands from Zabbix server are allowed.
# 0 - not allowed
# 1 - allowed
#
# Mandatory: no
# Default:
EnableRemoteCommands=1
アクション設定をする
トリガー名にIISのサービス名であるW3SVCを含むことを実行条件にします。
実行内容として、リモートコマンドで現在のホストでカスタムスクリプトを実行とします。スクリプトの内容はW3SVCサービスが起動するように「net start W3SVC」としました。
動作検証してみる
動作検証のため、サービスを停止してみたところ、リモートコマンドが実行され自動的に障害復帰した。