五つの事件でタイムラインを立てる
目標
複数のログに散らばった5つの時刻を集めてタイムラインを作り、ユーザー視点の影響継続時間を計算できるようになります。
なぜ重要なのか
障害報告書で、顧客が最初に読むのは原因分析ではなく、タイムラインです。「私たちがどれだけ長く気づかなかったか」と「気づいてからどれだけ早く動いたか」を、同時に見せるからです。
5つの時刻の間の4つの区間が、それぞれ名前を持ちます。変更 → 影響は潜伏区間、影響 → 認知は検知遅延、認知 → 措置は対応遅延、措置 → 復旧確認は検証区間です。このうち検知遅延が大きければ、直すべきものはシステムではなく観測です。そして、検証区間がない報告書は、「直したと思う」までしか言っていません。
影響継続時間は、影響開始から復旧確認までで数えます。ユーザーはデプロイがいつだったかを知らず、ロールバックコマンドが入った瞬間ではなく、実際に正常になった瞬間に、影響から抜け出すからです。
3つのログ: /opt/data/deploy.log、/opt/data/app.jsonl、/opt/data/alert.log
ステップ
/root/timelineディレクトリを作成してください。- payment 2.7.0がデプロイされた時刻を、
HH:MMで/root/timeline/t_deploy.txtに書いてください。 - 最初のエラーが発生した時刻を、
/root/timeline/t_error.txtに書いてください。 - criticalアラートがfiringになった時刻を、
/root/timeline/t_alert.txtに書いてください。 - ロールバックが実行された時刻を、
/root/timeline/t_rollback.txtに書いてください。 - アラートがresolvedに変わった時刻を、
/root/timeline/t_resolved.txtに書いてください。 /root/timeline/timeline.mdを書いてください。5つの時刻がすべて入り、ファイルの中で時間順に並んでいる必要があります。- 影響開始から復旧確認までの分数を、
/root/timeline/mttr.txtに数字だけで書いてください。
参考
cat /opt/data/deploy.log、cat /opt/data/alert.log: どちらも短いので、そのまま読んでください。- 時刻の表記は
HH:MMです。2026-08-19T03:19:04Zから、03:19だけを書きます。 - よくあるミス1: ステップ8を、デプロイ時刻から数えてしまうことです。ユーザーはデプロイ時刻を知りません。
- よくあるミス2: ステップ7で、人の名前やアカウント名を書いてしまうことです。ログにあるactorの値は、タイムラインに移しません。
作業ディレクトリを作る
/root/timelineディレクトリを作成してください。
/root/timelineの下に、結果を集めます。
変更時刻を見つける
payment 2.7.0がデプロイされた時刻を、HH:MMで/root/timeline/t_deploy.txtに書いてください。
deploy.logで、payment 2.7.0がデプロイされた時刻です。HH:MMだけを書いてください。
影響開始時刻を見つける
最初のエラーが発生した時刻を、/root/timeline/t_error.txtに書いてください。
ユーザーが実際に失敗を経験し始めたときです。app.jsonlのerrorの最初の時刻を見てください。
認知時刻を見つける
criticalアラートがfiringになった時刻を、/root/timeline/t_alert.txtに書いてください。
alert.logで、criticalがfiring状態になった時刻です。
措置時刻を見つける
ロールバックが実行された時刻を、/root/timeline/t_rollback.txtに書いてください。
deploy.logにrollbackが記録されています。
復旧確認時刻を見つける
アラートがresolvedに変わった時刻を、/root/timeline/t_resolved.txtに書いてください。
alert.logで、同じルールがresolvedに変わった時刻です。
タイムラインのドキュメントを書く
/root/timeline/timeline.mdを書いてください。5つの時刻がすべて入り、ファイルの中で時間順に並んでいる必要があります。
5つの時刻がすべて入り、ファイルの中で時間順に並んでいる必要があります。
影響継続時間を計算する
影響開始から復旧確認までの分数を、/root/timeline/mttr.txtに数字だけで書いてください。
ユーザー視点で正直な区間は、影響開始から復旧確認までです。分単位の数字だけを書いてください。