平均復旧時間(MTTR)とは?
平均復旧時間(MTTR)は、障害後にシステムを通常運用に復旧するのにかかる平均継続時間で、多くのインシデントにわたって計算されます。
MTTR は、運用チームが何十年も使ってきた信頼性の平均値ファミリーの一つです。インシデントから通常どれだけ速く回復するかの大まかな感覚を与え、DORA の time-to-restore メトリクスと自然にペアになります。
MTTR の計算方法
MTTR は、一連のインシデントにわたって障害または劣化状態で費やされた総時間を、インシデント数で割ったものです。合計2時間の停止が4回あった場合、MTTR は30分です。これは平均なので、1件の非常に長いインシデントが大きく偏らせることがあります。
より広い MTTx ファミリー
- MTTR(recovery):障害後にサービスを復旧するまでの平均時間。
- MTTD(detect):何かがおかしいと気づくまでの平均時間。
- MTTA(acknowledge):誰かが対応を始めるまでの平均時間。
- MTBF(between failures):インシデント間の平均稼働時間。
回復時間を分解する
回復時間は実際には detect + acknowledge + diagnose + fix です。MTTR をその構成要素に分解すると、どこに投資すべきかがわかります。時間のほとんどが検知にあるなら monitoring を改善し、診断にあるならオブザーバビリティと runbook を改善し、修復にあるなら rollback ツールを改善します。
平均化の限界
インシデントを平均化することには実際のデメリットがあります。インシデントは原因と深刻度が大きく異なり、平均は多くの些細な障害の陰に数件の壊滅的な停止を隠すことがあります。そのため多くのチームは、単一の数値を信頼するのではなく、MTTR と並べて分布や最悪ケースを見ます。
MTTR と time to restore の違い
MTTR と DORA の time-to-restore メトリクスは密接に関連しており、どちらも回復のスピードを測定します。DORA はこれを deploy に結びついた delivery パフォーマンスのメトリクスとして捉える傾向があり、MTTR はより広い運用上の平均です。両者を併用すると、インシデントごとの視点と集約的な視点の両方が得られます。
重要なポイント
- MTTR は、障害後にサービスを復旧するまでの平均時間です。
- これは信頼性を分解するメトリクスファミリー(MTTD、MTTA、MTBF)に属します。
- 平均は分散を隠すため、分布と最悪ケースもレビューします。