Zabbixで障害自動復旧システムを構築してみた
見出し画像

Zabbixで障害自動復旧システムを構築してみた

こんにちは。エンジニアのふるやです🙃
今回は Zabbixで障害自動復旧システムを構築してみた 件をご紹介させていただきます。

経緯

ゲームをプレイしているとエラーになる問い合わせがあり、
 調査の末、memcachedがダウンしたことが原因と判明
ZabbixからChatwork通知が来る設定がなかった
根本原因は後で探るとして、すぐ復旧できるような仕組み作りが最優先

対応内容

・memcached.serviceを監視する
 ※サービスのダウン、アップのタイミングでChatworkに通知する
・memcached.serviceがダウンしたら、起動コマンドを実行する

設定:監視項目を追加する

監視項目の追加手順は以下をご覧ください。

設定:サービスを自動起動させる

memcachedの起動コマンドをZabbixに実行してもらうために、ZabbixにSystemコマンド実行権限を付与します。
※Zabbixのアクション追加などの対応が必要になります

1. memcached.serviceが起動しているサーバーの zabbix_agentd.conf 
を修正する

$ vim /etc/zabbix/zabbix_agentd.conf

# L74付近
+ AllowKey=system.run[*]

2. zabbix_agent を再起動し、設定修正内容を反映する

$ systemctl restart zabbix-agent

3. Zabbixユーザーに対して、部分的にsudo権限を付与する
(今回は再起動のみ付与します)

$ visudo

+ zabbix ALL=(ALL) NOPASSWD: /bin/systemctl restart memcached.service

4. Zabbix の メニュー > 設定 > アクション > アクションの作成 から
アクションを追加する

アクション ※以下、数字の順に設定する

画像2

実行内容 ※以下、数字の順に設定する

画像2

実行内容に記載するコマンド

sudo /bin/systemctl restart memcached.service

※sudoが必要。systemctlだけだと実行されない。

5. テストする
 設定後は必ずテストしましょう。

完了です!お疲れ様でした!😊


以上、エンジニアふるや(@h_furuya_)が綴らせて頂きました。

スキを頂きありがとうございます!是非SNSでシェア頂けますと幸いです!
ソーシャルゲームアプリ開発・運営を行う株式会社ダンクハーツのメンバーが、自身が持つ技術/スキル/知識を発信していきます📝 ダンクハーツに集う“原動力たち”を知って頂ける機会となれば幸いです✨ https://www.dank-hearts.co.jp/recruit/