はじめに
システム障害発生時の連絡方法は、電話、メール、チャット、パトランプなど様々です。
障害発生時に自動で電話のような連絡を安価なシステムでできないか?と考え、試しに作ったのがこの連絡システムです。
個人利用では特に問題も起きていないので紹介することにしました。
障害連絡の役割とは?
- 担当者へシステム障害が発生していることを気付かせること
- 担当者へシステム障害の内容を伝えること
連絡の自動化の為、通知システムに必要な機能
- 担当者がアラート通知を受信したことを判定できること
- 担当者がアラート通知を受諾/拒否したことを判定できること
上記2点が実装できれば、障害連絡を完了すること、別の担当者へエスカレーションすることが可能となる
作ったもの
- Push通知を受信してアラーム音の再生、バイブレーション、メッセージを表示するAndroidアプリ
- 監視システムが実行する連絡をハンドリングするスクリプト
- Androidアプリからの連絡状況を受信するphpスクリプト
このシステムできること
- プッシュ通知をサーバ等から自分のAndroid端末へ自由に送ることができる
- プッシュ通知をAndroidアプリで受信するとアラーム音の再生、バイブレーション、メッセージの表示、特定URLへの受信応答をさせることができる
デモシステムの構成
デモ端末とシナリオ
- デモ端末
端末名 | OS | 接続環境 | 連絡順 |
---|---|---|---|
ASUS K010 | 4.4.2 | Wifi | 1 |
Xperia Arc | 4.0 | 3G | 2 |
Emulator | 2.2 | Wifi | 3 |
デモ動画(.movファイル)
再生時間は3分です。
音量をあげないと何をしているかわかりません。
デモ動画
- デモ動画のシナリオ
- sendmailプロセス停止により、Zabbixで障害検知
- ASUSにアラート連絡、他の端末にはメッセージのみ連絡
- ASUSが連絡に応答しない為、Xperiaにアラート連絡
- Xperiaが NG ボタンで応答した為、Emulatorにアラート連絡
- Emulatorも NG ボタンで応答した為、2巡目へ。ASUSにアラート連絡
- ASUSが OK ボタンで応答した為、ASUS が OK を押したことを全端末へ連絡。連絡完了。
- sendmailプロセス起動により、Zabbixで復旧検知
- 全端末へ復旧したことを連絡。
アプリの使い方
アプリは現在は公開していません。