![見出し画像](https://assets.st-note.com/production/uploads/images/61072213/rectangle_large_type_2_a606a5b66165574669ced9f248cf0943.png?width=1200)
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](https://assets.st-note.com/production/uploads/images/57986547/picture_pc_ef6435e75ea4195d3182f92972933785.png?width=1200)
実行内容 ※以下、数字の順に設定する
![画像2](https://assets.st-note.com/production/uploads/images/57917292/picture_pc_8393d5e56cd3731191a11d84ca7a23d0.png?width=1200)
実行内容に記載するコマンド
sudo /bin/systemctl restart memcached.service
※sudoが必要。systemctlだけだと実行されない。
5. テストする
設定後は必ずテストしましょう。
完了です!お疲れ様でした!😊
以上、エンジニアのふるや(@h_furuya_)が綴らせていただきました。