# FaultInsight — Interpreting Hyperscale Data Center Host Faults Navigation: [[根本原因分析]] | [[因果発見]] | [[Fault Localization]] | [[AIOps]] ## 論文情報 | 項目 | 内容 | |------|------| | 会議 | ACM SIGKDD KDD 2024, August 25-29, Barcelona, Spain | | DOI | [10.1145/3637528.3672051](https://doi.org/10.1145/3637528.3672051) | | 著者 | [[Tingzhu Bi]](PKU、第一著者)、Yang Zhang(ByteDance)、[[Yicheng Pan]](PKU)、[[Yu Zhang (ByteDance)]](ByteDance、産業側対応著者)、[[Meng Ma]](PKU/Shuanghu Laboratory、学術側対応著者)、[[Xinrui Jiang]](PKU)、Linlin Han(ByteDance)、Feng Wang(ByteDance)、Xian Liu(ByteDance)、[[Ping Wang (Peking University)]](PKU/Shuanghu Laboratory、学術側対応著者) | | 実装 | [github.com/etigerstudio/FaultInsight](https://github.com/etigerstudio/FaultInsight) | ## 概要 [[FaultInsight]] は、ハイパースケールデータセンターのホスト障害を対象とした、高い解釈可能性を持つ深層因果診断フレームワークである。クラウドアプリケーションは物理ホスト上で動作しており、ホストに障害が発生するとサービスに影響が波及する。ホストレベルの KPI(CPU・メモリ・ネットワーク・ディスク I/O・プロセス・ソケット等)は**異種(heterogeneous)**であるため、同種サービスレベル KPI を前提とした既存手法が機能しない。本論文はこの問題を解決し、多角的な視点から診断的知見を提示する。 ![[FaultInsight/fig3_overview.png]] *図3: FaultInsight フレームワークの全体像。左から「障害ダイナミクス発見 → 分析 → 解釈」の 3 段階* ## 問題設定 ### 均質診断 vs. 異種診断 - **サービスレベル KPI 診断(均質)**: 異なるサービスインスタンス間で同種メトリクス(レイテンシ等)を比較し、どのサービスが原因かを特定する。既存手法(DyCause・CloudRanger・CIRCA・RCD 等)はこのシナリオに特化している。 - **ホストレベル KPI 診断(異種)**: 単一ホスト内の異なるシステムリソース(CPU・メモリ・ネットワーク等)にまたがる異種メトリクス間の因果連鎖を解明する必要がある。これが本論文の対象。 ### 実環境の障害事例 論文で示された典型的なホスト障害の連鎖: 1. ソケット接続数(ss.estab)の急増 → 大量プロセスの生成(proc.all) 2. システム負荷の急増・メモリ空き容量の枯渇(load.1min・mem.available) 3. スワップ領域の使用開始(mem.swapFree) 4. ディスク I/O 書き込み要求のスパイク(io.write) → さらなる負荷増大 ![[FaultInsight/fig2_fault_case.png]] *図2: 実障害事例の主要異常メトリクス推移。矢印は影響伝播パスを示す* ### 技術的課題 1. **動的・異種な影響連鎖を発見する手法の欠如**: 既存の時系列因果発見手法は均質メトリクス向けであり、動的な因果構造を捉えられない 2. **解釈可能な表現の欠如**: 既存手法は根本原因メトリクスの順序付きリストしか出力しない 3. **大規模デプロイへの効率性**: 本番環境の大規模入力にも対応できるスケーラビリティが必要 ## 提案手法: FaultInsight FaultInsight は 3 段階のパイプラインで構成される。 ### 段階 1: 障害ダイナミクス発見 (Fault Dynamics Discovery) **目的**: 異種ホストメトリクスの動的因果グラフ(T ステップの障害ダイナミクス D)を構築する。 **セマンティクス分離 TCN オートエンコーダ** - 共有パラメータを持つ単変量 TCN エンコーダ `g*` とデコーダ `f*` のペア - 再構築タスク: 各メトリクスを潜在セマンティクスチャネルに分離し、各チャネルから再構築(MSE 損失 ℓ_recon) - 予測タスク: 全メトリクスの過去値から将来値を予測する潜在ベクトル自己回帰予測器 p(MSE 損失 ℓ_pred) - 構造的スパース正則化: TCN にスペーシャルドロップアウト + L1 正則化を適用し、支配的な因果関係を際立たせる ![[FaultInsight/fig9_propagation_network.png]] *図9: 時系列整合伝播ネットワーク。各ノードの色はシステムコンポーネントを示し、タイムスタンプで因果伝播の時間順序が可視化される* **時系列順序破壊による動的因果抽出 (Chronological Perturbation)** - メトリクス i の時系列順序をランダムに並べ替え(permutation)することで、そのメトリクスとの因果関係を除去する - 予測誤差の増大量 = 因果影響強度として解釈 - `n_pert` 回繰り返して平均化し、動的因果グラフ D[i,j,t] を推定 - 計算量: O(n_epochs × N + n_pert × N²) ### 段階 2: 障害ダイナミクス分析 (Fault Dynamics Analysis) **動的影響スコアリング** PageRank の動的グラフ版拡張として、各メトリクスの外向き影響スコア S と内向き影響スコア S̄ を時間ステップごとに計算する。時間的割引関数(幾何分布の確率質量関数)で遅延効果を考慮する。 - **外向き影響スコア S**: あるメトリクスが他のメトリクスに伝播する異常影響の強さ(動的マルコフ連鎖の定常分布で算出) - **内向き影響スコア S̄**: あるメトリクスが他のメトリクスから受け取る異常影響の強さ - **累積スコア S^Σ**: 時間軸全体での積分値 **メトリクスの役割分類** - **原因メトリクス(cause metric)**: 累積外向きスコア > 累積内向きスコア → 根本原因候補 - **効果メトリクス(effect metric)**: 累積内向きスコア > 累積外向きスコア → 結果として影響を受けるメトリクス ![[FaultInsight/fig6_influence_scores.png]] *図6: 主要異常メトリクスの動的外向き・内向き影響スコア。ピーク伝播タイムスタンプが矢印で示される* **ピーク伝播タイムスタンプ同定** 各メトリクスについて、動的影響スコアをピーク分布の確率密度関数として解釈し、その平均値をピーク伝播タイムスタンプ T_i として算出する。 ### 段階 3: 障害ダイナミクス解釈 (Fault Dynamics Interpretation) 3 種類の視覚的診断表現を提供する。 **① 根本原因メトリクス同定** 累積外向き影響スコア S^Σ に基づいてメトリクスをランキング。 **② メトリクスレベル概観グラフ** - ノード: 各ホストメトリクス(丸=原因、三角=効果) - ノードサイズ: 累積影響スコアの強さ - エッジ: 因果影響(エッジの濃さ = 強度) - Fruchterman-Reingold 力指向レイアウト ![[FaultInsight/fig7_metric_overview.png]] *図7: 上位 40 メトリクスのメトリクスレベル概観グラフ。ss.estab(ソケット)とメモリ関連メトリクスが根本原因として左右に分布し、ディスク I/O 関連メトリクスが中央に効果として集まる* **③ コンポーネントレベルフロー図(Sankey 図)** コンポーネント間の支配的な異常影響フローを Sankey ダイアグラムで可視化。左列=原因メトリクス・中列=原因コンポーネント・右列=効果コンポーネント・右列=効果メトリクス。 **④ 時系列整合伝播ネットワーク** 障害伝播チェーンを時間順に整列させたグラフ。ピーク伝播タイムスタンプの順序制約と原因→効果方向制約で無効なエッジをフィルタリングし、ビームサーチで上位伝播チェーンを抽出してマージする。 ## 実験設定 | 項目 | 内容 | |------|------| | データセット | ByteDance 本番環境の 26 件のホスト障害(メモリ不足・パケットドロップ・ディスク逼迫等) | | メトリクス数 | 130 超(場合によっては数百〜数千)。30 秒間隔でサンプリング | | 障害期間 | 平均 34 分、最大 65.5 分 | | 平均根本原因数 | 1.5 個/件 | | ベースライン | ε-Diagnosis, RCD, CIRCA, DyCause, CloudRanger(サービスレベル診断 5 種)、Granger, PCMCI, cMLP, TCDF(時系列因果発見 4 種)| | 評価指標 | PR@k%(上位 k% 内の根本原因的中率)、RankScore(総合ランキング精度) | | 実装パラメータ | TCN 3 スタック、カーネルサイズ 6、潜在チャネル数 C=4、α=0.95、β=0.85、n_pert=128、n_epochs=500 | ## 実験結果 ### 診断精度(RQ1) | 手法 | Avg.PR | RankScore | 実行時間(秒) | |------|--------|-----------|------------| | ε-Diagnosis | 24.0 | 45.5 | 4.8 | | RCD | 7.7 | 13.8 | 18.9 | | CIRCA | 14.1 | 48.1 | 40.1 | | DyCause | 14.6 | 43.2 | 20.7 | | CloudRanger | 26.5 | 30.6 | 184.6 | | Granger | 25.4 | 64.7 | 11.1 | | cMLP | 31.5 | 66.9 | 137.5 | | TCDF | 25.4 | 57.3 | 669.9 | | **FaultInsight** | **65.4** | **88.5** | **26.5** | FaultInsight は全ベースラインに対して Avg.PR で 2 倍以上、RankScore でも大幅な優位を示した。サービスレベル診断手法はいずれも異種ホストメトリクスに失敗し、時系列因果発見手法は PR@k% の上位命中率が低かった。 ### 効率性(RQ2) - 大規模メトリクス(N=500)でも実行時間が 50 秒以下に収まる - CloudRanger(最も遅い統計ベース手法、184.6 秒)や TCDF(669.9 秒)と比べて大幅に高速 - ボトルネックは因果グラフ抽出(O(N²))であるが、TCN パラメータ共有により N が増えても比較的安定 ### 感度分析(RQ3) - α(ランダムテレポーテーション確率)と β(時間的割引)の最適値はそれぞれ約 0.95 と 0.85 - PR@10% は 42% 〜 60% の範囲で変動し、ハイパーパラメータへの感度は中程度 ### アブレーション(RQ4) - 再構築タスク除去(no reconstruction): 精度が顕著に低下 → TCN が異種メトリクスのセマンティクス分離に不可欠 - 構造的スパース正則化除去(no regularization): 精度が低下 → 大規模メトリクスで支配的な関係を際立たせるために重要 ## 新規性・貢献 1. **動的因果発見**: TCN ベースの自己エンコーダと chronological perturbation を組み合わせた、異種メトリクスへの動的因果発見手法(既存の均質メトリクス向け手法を超える) 2. **動的ノード影響スコアリング**: 静的 PageRank を動的グラフ版に拡張し、時変の因果影響強度とピーク伝播タイムスタンプを算出 3. **多角的診断表現**: 根本原因メトリクスのリストにとどまらず、3 種の視覚的表現(メトリクス概観グラフ・Sankey フロー図・時系列伝播ネットワーク)でエンジニアの理解を促進 4. **本番実証**: ByteDance の数百万ホストを擁するハイパースケールデータセンターでの本番評価 ## 強み - 本番環境のリアルな障害事例で評価しており、データセットの信頼性が高い - サービスレベル手法とホストレベル問題の本質的違い(均質 vs. 異種)を明確に整理している - 実行時間のバランスが良く、本番デプロイへの現実的な適用可能性がある - 視覚的診断表現の有用性を実際のエンジニアの評価で確認している - GitHub に実装を公開している ## 弱点・課題 - 評価データセットが 26 件と小規模であり、障害種別の多様性に限界がある - 超大規模(N=500 超)では O(N²) の因果グラフ抽出がボトルネックになりうる - ハイパーパラメータ(α、β)の感度が中程度あり、別環境への適用時に再チューニングが必要 - 障害の「根本原因」が人手でラベル付けされており、アノテーションの曖昧さが評価精度に影響する可能性 - 異種メトリクスの「セマンティクス分離」が学習されているかの説明可能性(interpretability)が不十分 ## 関連ページ - システム entity: [[FaultInsight]] - 著者: [[Tingzhu Bi]] / [[Meng Ma]] / [[Ping Wang (Peking University)]] / [[Xinrui Jiang]] / [[Yicheng Pan]] / [[Yu Zhang (ByteDance)]] - 所属: [[Peking University]] / [[ByteDance]] - 関連概念: [[根本原因分析]] / [[因果発見]] / [[Fault Localization]] / [[AIOps]] - 関連論文(参照・引用関係): DyCause ([[@2021__ISSTA__DyCause - Crowdsourcing Microservice Kernel Failure Diagnosis from User Space]]) / [[@2018__CCGrid__CloudRanger - Root Cause Identification for Cloud Native Systems]] / [[@2022__ESEC FSE__Actionable and Interpretable Fault Localization for Recurring Failures in Online Service Systems]]