> [!abstract] 概要 > 信頼性工学においてプロセス変更・製品購入・技術的変化の改善を計測する際、平均復旧時間(MTTR)や平均緩和時間(MTTM)といった統計が広く用いられる。本レポートでは、シンプルなモンテカルロシミュレーションおよび統計解析を用い、これらの統計が本番インシデントのコンテキストにおける意思決定やトレンド分析に適していないことを示す。代替として、一部のコンテキストにおいて同じ計測を達成するためのより良い方法を提案する。 ## 論文情報 - **タイトル**: Incident Metrics in SRE: Critically Evaluating MTTR and Friends - **著者**: Štěpán Davidovič(Google SRE、内部インフラ自動モニタリング担当) - **媒体**: O'Reilly Media レポート(Google Cloud 協賛) - **発行**: 2021年3月19日(第1版) - **ISBN**: 978-1-098-10313-2 - **URL**: [Google SRE 配布版](https://static.googleusercontent.com/media/sre.google/ja//static/pdf/IncidentMeticsInSre.pdf) ## 概要 本レポートは、MTTR をはじめとする MTTx メトリクスが、インシデント期間分布の高い分散と低いサンプルサイズという本質的な問題により、実用的なほとんどの SRE 環境で意思決定やトレンド分析に役立たないことをモンテカルロシミュレーションと実データで実証する。3 社の匿名インターネット企業の公開インシデントデータと Google 内部データを使い、中央値・幾何平均・パーセンタイルなど代替統計を含めて検討した上で、問題の核心がデータ品質ではなくインシデント件数の少なさと分散の高さにあることを示す。 ## 問題設定 - **入力**: 複数社のインシデント記録(継続時間)、改善の有無を問わない - **問い**: MTTx(MTTR・MTTM・MTTD など)はインシデント改善評価や信頼性トレンド分析に使えるか - **前提**: インシデント継続時間に関する十分な量のデータが存在する(3 社:173 件・103 件・609 件/2019 年、Google:それ以上) ## インシデントのライフサイクルと定義 インシデントは以下のマイルストーンで定義される(Figure 1)。 - **First product impact**(最初のプロダクト影響) - **Detection**(検知): オペレーターが問題を認識した時点 - **Mitigation**(緩和): 重大な製品影響が解消した時点(システムは依然として低下していることがある) - **Recovery**(復旧): システムが通常運用に完全復帰した時点 **Figure 1: インシデントタイムラインの簡略モデル** ![[_attachments/IncidentMeticsInSre/fig01-incident-timeline.png]] (Figure 1. Simplified timeline of an incident, with key points highlighted. TTD・TTM・TTR・MTBF の各区間を視覚化。Source: Davidovič 2021.) **MTTR の定義**: 全インシデントにわたる「復旧時刻 − 最初の影響時刻」の平均。MTTM も同様に「緩和時刻 − 最初の影響時刻」の平均。 ## インシデント継続時間の分布 3 社の公開インシデントステータスダッシュボードデータを収集(Company A: N=798、Company B: N=350、Company C: N=2,186)。3 分未満・3 日超のインシデント(各データセットの約 1〜2%)を除外。 **Figure 2: インシデント継続時間の分布(3 社)** ![[_attachments/IncidentMeticsInSre/fig02-incident-duration-distribution.png]] (Figure 2. Distribution of incidents' durations with incident counts. 行は順に Company A(N=798; 2019 年 173 件)・Company B(N=350; 103 件)・Company C(N=2,186; 609 件)。各社の短い時間軸(左列)と長い時間軸(右列)で分布の裾を示す。Source: Davidovič 2021.) ### キー観察 - すべての企業で正の歪み(right-skewed)分布:多くのインシデントが短時間で解決されるが、少数の長時間インシデントが裾を引く - 分布はおおよそ対数正規(または ガンマ)分布に近いが、完全な当てはめは試みていない - 各データセットで分散が非常に大きい(「大半は迅速に解決、一部は複雑で長期化、少数がブラックスワン的大惨事」) | 指標 | Company A | Company B | Company C | |---|---|---|---| | 2019 年インシデント数 | 173 | 103 | 609 | | 平均 TTR | 2h 26m | 2h 31m | 4h 31m | | 標準偏差 | 5h 16m | 5h 1m | 6h 53m | (Table 1. Incident count, mean, and variance across the three data sets. Source: Davidovič 2021 p.9) ## 提案手法: モンテカルロシミュレーション 改善効果の検出可能性を評価するため、以下のシミュレーションを 10 万回実施。 1. 経験的分布から 2 つのサンプル(N1=N2)をランダムに抽出 2. 一方のインシデント継続時間を変更(例: 10% 短縮) 3. 各グループの MTTR を計算 4. 差(observed improvement = MTTR_unmodified − MTTR_modified)を記録 5. これを 10 万回繰り返す 50/50 分割が最も解析力が高い(これより不均等にすると分散が増える)。 ### 改善があっても検出できない 実際に 10% 改善が起きているシナリオでのシミュレーション結果(Figure 5)。 **Figure 5: 10% 改善があった場合の MTTR 変化の分布** ![[_attachments/IncidentMeticsInSre/fig05-mttr-simulation-improvement.png]] (Figure 5. Distribution of simulated changes to MTTR if improvement actually happened, as relative improvement. 横軸は相対的変化(正が改善)。Company A: 38% のシミュレーションで MTTR 差がゼロ以下。Company B: 40%。Company C: 20%。Source: Davidovič 2021.) - **Company A**: 38% のシミュレーションで MTTR 差がゼロ以下(改善なし・悪化と判定) - **Company B**: 40% - **Company C**: 20% - 15 分以上の改善が見られる確率: それぞれ 49%・50%・64% のみ ### 変化がなくても「改善」が見える 何もインシデントを変えていないシナリオ(Figure 6)。 **Figure 6: 変化なしの場合の MTTR 変化の分布** ![[_attachments/IncidentMeticsInSre/fig06-mttr-simulation-no-change.png]] (Figure 6. Distribution of simulated changes to MTTR if there was no change to the incidents. 横軸は MTTR の絶対変化(分)。30 分以上の「改善」が Company A で 19%、Company B で 23%、Company C で 10% の確率で観測される。Source: Davidovič 2021.) - 何も変えていないのに 30 分以上の MTTR 「改善」が生じる確率: Company A=19%、Company B=23%、Company C=10% - 「偽の改善シグナルを受け取り、役に立たない製品を購入してしまう」リスクが現実的に存在する ### サンプルサイズと信頼区間 90% 信頼区間の幅はサンプルサイズを増やすことで縮小するが、実用的な件数では依然として広い。 **Figure 7: サンプルサイズに対する 90% 信頼区間幅の減少** ![[_attachments/IncidentMeticsInSre/fig07-ci-width-vs-samples.png]] (Figure 7. Decrease of width of 90% confidence interval as sample size increases. 横軸は N1+N2 のサンプル数(対数スケール)。縦軸は 90% CI の境界(分)。3 社とも 1,000 件でも信頼区間が 30〜45 分程度残る。Source: Davidovič 2021.) **Table 2より(90% 信頼区間、各種サンプルサイズ)** | N1+N2 | Company A | Company B | Company C | |---|---|---|---| | 10 | ±5h 41m | ±5h 25m | ±7h 4m | | 100 | ±1h 44m | ±1h 39m | ±2h 16m | | 1,000 | ±33m | ±31m | ±43m | 1,000 件のサンプルでも、10% 改善(例: 14〜27 分程度)は信頼区間内に収まる。 ## 代替統計でも問題は解決しない ### 中央値・パーセンタイル(Table 3・4より) 中央値でも N=1,000 で 90% CI は ±9〜29 分程度。95 パーセンタイルはさらに悪化(±3〜12 時間)。外れ値が少なくなるはずのパーセンタイルが逆に悪化するのは、極端なインシデントが稀であるためサンプリングばらつきが大きくなるから。 ### 幾何平均(Table 5より) 対数正規分布に近い分布での算術平均に相当する幾何平均でも、N=1,000 の 90% CI は ±7〜18 分。N=100 では ±24〜56 分。「1,000 件あればやっと 10% の変化を検出できる程度」。 ### 合計インシデント継続時間 MTTR の N 倍に等しいため、信頼区間も N 倍に広がり(N=1,000 で ±274〜359 時間)、実用性はない。 ## 大規模データセット(Google) Google の 2019 年インシデントデータ(最も深刻なもの〜すべての重要なインシデントの約 15 倍の規模、匿名化)で同様に分析。 - すべての重要インシデントで年間の 5.3% の改善を 90% CI に収めることは可能 - しかし「すべての重要インシデント」は社内インシデント(開発者生産性影響のみ・ユーザー非可視)を含む異質な集合 - 「5.3% の改善を検出できる」だけでは MTTR の有用な指標としての地位を強化しない ## データ品質は問題の本質ではない - 厳格なインシデント報告要件を持つチーム(SRE サポート付き・最高可用性サービス)でも Google 内部で改善は見られなかった - 3 社の公開データセットも同様の挙動を示す - **問題はデータ精度でなく、インシデント発生件数の少なさと分散の高さという本質的な性質にある** ## なぜ MTTx が誤解を招くか(結論) MTTx が一般的な SRE 設定で適さない理由(会社の規模・生産実践の厳格さに依存しない): 1. **信頼性の全体的な指標として不適切**: インシデント件数が 2 倍になっても MTTR はほとんど変わらない(対策: SLI/SLO が直接的な代替) 2. **トレンド把握に無用**: 構造的変化がなくても MTTR が大きく動く 3. **プロセス・ツール改善の評価に使えない**: 分散が大きすぎて改善を区別できない 例外: ハードディスクドライブのような大量・低分散の一様ハードウェア(Backblaze の数万台規模)や、劇的な変化(継続時間が 20% 以下に短縮)。ただし劇的変化は他の方法でも明らかになる。 ## より良い代替手段 ### メトリクスを問いに合わせる 「MTTR を改善するための製品」ではなく、製品が実際に改善するインシデントの特定フェーズを特定し、そのフェーズだけを計測する。例: 検知改善製品なら TTDetect だけを計測。インシデント全体を集計すると、改善していない他のフェーズのノイズが混入する。 **ユーザースタディ**: 集計統計に依存せず、選択したインシデントサンプルについてユーザースタディを実施。改善したい側面に焦点を当てた豊富な理解を得られる。専門的助言を推奨。 ### 直接的な信頼性指標(SLI/SLO) 「信頼性が改善しているか」を問うなら、ユーザー体験に近い SLI/SLO を用いる。SLO に向けた誤差予算の消費量(例: 年間合計誤差予算消費率)が一つの代替となりうるが、SLI の実装次第で分析の妥当性が変わるため、広く適用できる単一の答えはない。 ### メトリクスをテストにかける 自分が選ぼうとしている指標に対して本レポートと同じシミュレーション(モンテカルロ)を適用する。「その指標は意味のある変化を検出できるか」を事前に検証してから採用する。 ## 強み / 弱点・課題 ### 強み - 3 社の実際の公開データと Google 社内データを組み合わせた実証分析 - モンテカルロシミュレーションという再現可能な手法 - 中央値・幾何平均・パーセンタイルなど代替統計を網羅的に検討 - データ品質という反論を先に潰す ### 弱点・課題 - SLI/SLO の具体的な分析可能性については「将来の研究」として留保 - 代替として提案されるユーザースタディは実施コストが高く、すべての組織に適用できるとは限らない - インシデント数をあえて少なく保つことが信頼性工学の目標であるため、「十分なサンプルを得る」という解決策は自己矛盾を含む - 分析の対象は「インシデント継続時間」のみ。インシデント件数・重大度・影響ユーザー数など多次元の分析は将来の課題 ## 関連 - [[TTXメトリクス]] — MTTR 批判を受けた細粒度 TTX アプローチ - [[インシデント管理]] — インシデントライフサイクル全般 - [[DORA]] — MTTR は DORA の第4指標(批判的再評価が必要) - [[MTWTF]] — MTTR の上流にある認知的先行指標 - [[障害傾向分析]] — Google 社内の横断インシデント分析プログラム - [[Štěpán Davidovič]] — 著者 - 関連 MOC: [[structures/SRE - MOC|SRE - MOC]] ## 出典確認メモ(チャット報告) すべての主要主張は `.raw/papers/IncidentMeticsInSre.txt` の本文・表・図キャプションに遡及可能。数値はすべて Table 1〜7 および Figure 2〜10 に基づく。