経緯
本日とある運用作業中に一部データを誤って欠損させてしまい、
その復旧作業を行いました。
今までこうしたトラブルを起こしたことがなかったため障害報告書といったものをほとんど書いてきませんでした。
そこで今回は今後のために今回やったことを自戒も込めて記録してみます。
記載が必要なもの
- 発生事象
- 影響範囲
- 発生期間
- 発生原因
- 対応内容(時系列)
- 再発防止策(アイデアを出すのが大事)
発生事象
例) 〇〇ペイが△△となって決済が出来なくなってしまった
GitHubのissueなりも同時に立てて技術的なメモはそちらへ!
障害報告書自体はエンジニア以外も見るものなので
プログラミングの込み入った話はここではしない。
影響範囲
例) 〇〇画面で△△ペイを利用したユーザー
対象となっている画面や該当するユーザーを書く。
発生期間
例) 2019-XX-XX 00:00 〜 2019-XX-XX 23:59
エラー通知サービスなどの通知時刻を参照して記載。
その他、本番での操作ログやKibanaのログなど参照。
発生原因
例) 本来〇〇のユーザーは△となるはずが ◇として処理するものとして実装してしまっていた。 例2) Admin画面からの〇〇を◎◎にする対応中に ◇◇を△△だと勘違いしてしまい削除してしまった。
システムの不具合であればどうあるべきがどう実装してしまっていたのか?
オペレーションミスであれば何故その操作をするに至ったのかを詳細に記載する。
対応内容
- 2019-XX-XX 12:00 作業中に〇〇を削除してしまったことが判明 →〇〇の作業中に△△がないことから異変に気付いた - 2019-XX-XX 12:03 事実確認・上長へ報告 - 2019-XX-XX 12:04 調査開始 - 中略 - 2019-XX-XX 17:00 復旧作業完了 - 2019-XX-XX 17:01 復旧完了をチームへ連絡
なるべく正確な時刻とやったことの証跡を残す。
再発防止策
例) 〇〇修正(プルリクのURL) 例2) △△の操作を行わなくても良いように Adminに〇〇の機能を追加実装する
障害発生時は色々テンパるものなので、
なかなか難しいです...
どうすれば起こらないかな?
と冷静になるとどうすべきか思いつくかもしれません。
最後に
今回のアカン部分を改善すべく自戒も込めて記録してみました。
失敗から学んで強くなろうと思った次第です...
(とはいえ物凄い凹んだ