# Microservice Root Cause Analysis With Limited Observability Through Intervention Recognition in the Latent Space > [!abstract] 概要 > マイクロサービスの広範な採用に伴い、多数の障害根本原因分析(RCA)アルゴリズムが提案されてきた。既存のアルゴリズムは一般に、包括的な監視メトリクスを用いて単一層の根本原因候補(RCC)をランキングすることに焦点を当てている。しかし、実際のマイクロサービスシステムでは、**限定された観測可能性**のもとで多数の異種 RCC が存在する。さらに、eBay における実際の障害事例から、この限定観測可能性が不正確な RCA をもたらしうることが判明した。本論文では初めて、「**RCC を潜在変数としてモデル化する**」ことを提案する。中核的な考えは、観測可能なメトリクスのみから特徴を直接抽出するのではなく、関連する監視メトリクスを用いて RCC の状態を潜在変数として推論することである。これに基づき、限定観測可能性のもとで異種 RCC を扱う非教師あり RCA フレームワーク **LatentScope** を提案する。観測可能・非観測可能な変数の双方をモデル化する**デュアル空間グラフ(Dual-Space Graph)**が提案され、空間間の多対多関係と、潜在変数の高速推論を実現する **LatentRegressor** アルゴリズム(回帰ベース潜在空間介入認識 RLIR を含む)が導入される。LatentScope は eBay の本番環境に展開済みであり、eBay の実際の障害とテストベッドデータセットの両方で評価された。評価結果は、ベースラインアルゴリズムと比較して、Top-1 再現率を **9.7%〜57.9%** 大幅に改善することを示している。LatentScope のソースコードとデータセットは https://github.com/NetManAIOps/LatentScope で公開されている。 ## 論文情報 - **タイトル**: Microservice Root Cause Analysis With Limited Observability Through Intervention Recognition in the Latent Space - **著者・所属**: Zhe Xie(清華大学 / BNRist)、Shenglin Zhang(南開大学)、Yitong Geng(eBay)、Yao Zhang(eBay)、Minghua Ma(Microsoft)、Xiaohui Nie(CNIC/CAS)、Zhenhe Yao(清華大学 / BNRist)、Longlong Xu(清華大学 / BNRist)、Yongqian Sun(南開大学)、Wentao Li(eBay)、Dan Pei(清華大学 / BNRist、責任著者) - **媒体**: KDD '24 — Proceedings of the 30th ACM SIGKDD Conference on Knowledge Discovery and Data Mining - **発表年月**: 2024 年 8 月(バルセロナ、スペイン) - **DOI**: https://doi.org/10.1145/3637528.3671530 - **コード**: https://github.com/NetManAIOps/LatentScope ## 概要 eBay での大規模マイクロサービス運用において、障害の根本原因となる RCC の 63.59% がサードパーティーサービス(直接観測不能)であるという実証事実から出発する。直接メトリクスを持たない異種 RCC を扱えない既存手法の限界を打破するため、**RCC を潜在変数としてモデル化**するデュアル空間グラフ上で、介入認識を潜在空間に拡張した RLIR アルゴリズムを提案する。eBay 本番環境への実適用と、Macro Top@1 で CIRCA-Max 比 +48.6% の性能改善を達成した。 ## 問題設定 マイクロサービスの障害 RCA は 2 層の課題を持つ: 1. **異種 RCC 問題**: 障害の根本原因となる候補がポッド・サービス・ホスト・サードパーティーサービス・データベース・ソフトウェア変更と多様であり、関係も物理的・コール・因果等で異なる 2. **限定観測可能性問題**: 多くの RCC が直接監視できず、間接メトリクス(他 RCC を介した観測)しか存在しない eBay 6 ヶ月分の実証研究(Table 1)によると: | カテゴリ | 割合 | |---|---| | サードパーティーサービス | 63.59% | | 内部サービス | 8.76% | | ソフトウェア変更 | 7.83% | | データベース | 5.53% | | ホスト | 11.65% | | ポッド | 2.92% | **サードパーティーサービスには直接メトリクスが存在しない**。間接メトリクス(関連内部サービスのエラー等)を使うと、複数の RCC が同じ間接メトリクスを共有するため一意の特定が困難になる曖昧性問題が生じる(図3の DB-11 / サードパーティーサービス A の混同事例)。 先行研究 CIRCA は障害を構造的因果グラフ上の介入(intervention)として扱うが、メトリクスレベルにとどまり潜在空間の RCC には対応不能であった。 - **入力**: マイクロサービスのメトリクス時系列、デュアル空間グラフ(RCC-メトリクスリンク + RCC 間物理関係)、障害発生トリガー - **出力**: RCC のランキングリスト - **前提**: RLIR の計算を簡略化するための RCC-S 条件(根本原因一意性 + 共通原因一意性) ## 提案手法 ### 全体構成 (LatentScope) LatentScope は 3 要素で構成される: 1. デュアル空間グラフの構築 2. RLIR による潜在空間介入認識 3. LatentRegressor による高速化と頑健化 ### デュアル空間グラフ (Dual-Space Graph) RCC を潜在変数 $z_a$ として扱い、観測空間と潜在空間を分離したグラフを構成する。 - **潜在 RCC 空間**: 全 RCC(観測不能も含む)をノードとし、物理的・コール的関係で接続 - **観測可能メトリクス空間**: メトリクスをノードとし、CIRCA に従う構造因果グラフとして構築。Pearson 相関フィルタで冗長エッジを除去 - **RCC-メトリクスリンク**: 2 空間を接続する**多対多**(many-to-many)リンク。1 つのメトリクスが複数 RCC に、1 つの RCC が複数メトリクスに接続できる。先行研究の一対多制約を明示的に解除することで、間接メトリクスの曖昧性を正式に表現 ### RLIR(Regression-based Latent-space Intervention Recognition) CIRCA の介入認識を潜在空間に拡張するアルゴリズム。 $x_i^{(t)} = f_i(\text{pa}(x_i)^{(t)}, \text{rcc}(x_i)^{(t)})$ を線形関数で近似し、観測層の回帰残差 $\hat{x}_i$ を通じて潜在変数の影響を推定する。2 ステップで構成: 1. **$L_{i,j}$ 計算**: メトリクス $x_i$ と $x_j$ が共通の RCC を持つ場合、$x_j$ が $x_i$ に説明できる割合 $L_{i,j}$ を線形回帰で推定 2. **$M_{a,i}$ 計算**: $M_{a,i} = \hat{x}_i \cdot (1 - \max_{j} L_{i,j})$ により RCC $z_a$ のスコア代理値を算出 **RCC 解決可能条件(RCC-S Condition)**: 以下 2 条件を満たすとき、根本原因スコアが定理 3.1 の式(8)で一意に決定される: - 根本原因一意性: 現在の障害を起こす根本原因は 1 つだけ - 共通原因一意性: 根本原因に影響されるメトリクスは、他の RCC と同時にリンクされない 計算量: $O(\#m \times \#rcc)$ でベースラインより高速だが、大規模環境ではさらに改善が必要。 ### LatentRegressor RLIR の 2 課題(高計算量・ノイズ感度)を解消する改良版。 - **アップステップ**: 連結ノード間の隣接 RCC を交絡因子候補に追加 - **ダウンステップ**: 実際に交絡を引き起こさない冗長な候補を除去 - ランダムウォーク並みの時間複雑度で RLIR を近似。線形回帰の代わりにリッジ回帰($R_{i,j}$)を使用し、ノイズへの頑健性も向上 ## 新規性 | 観点 | 先行手法 | LatentScope | |---|---|---| | RCC 表現 | 観測可能な単一層のみ | 潜在変数として異種 RCC を統一表現 | | メトリクス-RCC リンク | 一対多 | **多対多** | | 介入認識 | 観測空間のみ(CIRCA) | **潜在空間に拡張** | | 異種 RCC 対応 | 限定的または要専門知識 | 統一フレームワークで自動処理 | | 本番適用 | ほぼなし | eBay Kubernetes クラスタで本番稼働 | ## 実験設定 - **Dataset A**: eBay 本番の 66 件の実障害(6 ヶ月)。300 以上のマイクロサービス・数十のデータベース・数百のソフトウェア変更・10 以上のサードパーティーサービスインタフェース・数十万のメトリクス。複数カテゴリの RCC が含まれる - **Dataset B**: Online Boutique テストベッド(Google Cloud Microservices Demo)。11 マイクロサービス、RCC はポッド・ホスト・サービス。カオスエンジニアリングで生成 - **ベースライン**: RandomWalk、MonitorRank、MicroScope、CloudRanger、MicroCause、TrinityRCL、CIRCA(Avg/Max の 2 変種) - **評価指標**: Micro Top@k・Micro MRR・Macro Top@k・Macro MRR(カテゴリ別偏りを考慮)、実行時間 ## 実験結果 **Table 2 抜粋(Dataset A)**: | モデル | Micro Top@1 | Macro Top@1 | Macro MRR | 実行時間(s) | |---|---|---|---|---| | RandomWalk | 0.5606 | 0.1888 | 0.2117 | 7.1 | | MonitorRank | 0.5000 | 0.2415 | 0.3228 | 5.9 | | MicroScope | 0.3030 | 0.2168 | 0.2759 | 5.4 | | CloudRanger | 0.2632 | 0.0939 | 0.1564 | 603.3 | | MicroCause | 0.2391 | 0.1433 | 0.3841 | 302.5 | | TrinityRCL | 0.0303 | 0.1250 | 0.1858 | 14.6 | | CIRCA-Max | 0.4697 | 0.4243 | 0.6228 | 11.3 | | LatentScope(RLIR Only) | 0.5606 | 0.4133 | 0.5789 | 136.4 | | **LatentScope** | **0.6154** | **0.6302** | **0.7430** | **11.6** | **Dataset B**: | モデル | Micro Top@1 | Macro Top@1 | Macro MRR | 実行時間(s) | |---|---|---|---|---| | CIRCA-Max | 0.2159 | 0.2804 | 0.4537 | 10.7 | | LatentScope(RLIR Only) | 0.3258 | 0.3063 | 0.4745 | 586.3 | | **LatentScope** | **0.3750** | **0.4337** | **0.6491** | **10.9** | CIRCA-Max 比の改善: Dataset A で Macro Top@1 **+48.6%**、Dataset B で **+54.7%**。Top-1 再現率の総合改善幅は 9.7%〜57.9%。 **アブレーション研究(RQ2)**: 潜在層の有効性を検証するため CIRCA-Max/Avg と比較。Dataset A・B ともに特にサードパーティーサービスカテゴリで RLIR がベースライン CIRCA を大幅に上回り、潜在変数モデリングの効果が顕著。Dataset B では観測可能性がより制限されているにもかかわらず、LatentScope は頑健な性能を示した。 **カテゴリ別分析(RQ1 詳細)**: Dataset A では大半のアルゴリズムがサードパーティーサービスのみで高精度だが、他カテゴリは著しく低い。LatentScope は複数カテゴリで均衡した性能を達成。Dataset B でもノード・サービスカテゴリで優位性を示した。 **本番デプロイ(RQ3)**: eBay の Kubernetes クラスタに 2 CPU コアで展開。Prometheus によるメトリクス検知・JanusGraph によるグラフ DB 管理・LatentScope による RCA レポート出力という構成。メトリクスクエリの遅延削減のため、トリガーされた SLI(サービスレベル指標)のドメインを特定し、関連サービスのメトリクスのみを取得するトレードオフ実装を採用した。 ## 考察 - **Macro 指標での顕著な改善**: MonitorRank・MicroCause・MicroScope はメトリクスレベルの因果グラフのみで RCA を行うため、異種 RCC の複雑さや限定観測可能性の影響で Macro Top@1 が著しく低い。LatentScope は潜在空間での介入認識によりこれを解消する - **Dataset A vs B の Micro Top@1 差**: Dataset B は Dataset A より観測可能性が制限されているため(ポッド・ホスト・サービスのみの同質な RCC)、Micro Top@1 が低い傾向。それでも LatentScope がベースラインを大きく上回ることで、限定観測可能性への頑健性が実証された - **RCC-S 条件の適用限界**: RCC 解決可能条件が成立する場面に限定される理論的制約がある。複数根本原因が同時に存在する障害や、高密度の多対多リンクが生じる環境では条件が崩れうる - **グラフ構築の専門知識依存**: デュアル空間グラフの構築には、データベースの接続先内部サービス等を把握するエキスパート知識が必要。自動グラフ構築は将来課題として残る ## 強み / 弱点・課題 **強み**: - RCC の潜在変数モデリングという新しいパラダイムを提案し、理論的保証(定理 3.1)を付与した - eBay の大規模本番環境(300+ マイクロサービス、66 件実障害)での検証という実証性 - LatentRegressor による高速化で本番適用可能な応答時間(11.6 秒)を達成 - コードとデータセットを公開(再現可能性) **弱点・課題**: - デュアル空間グラフの構築に専門知識が必要(自動グラフ構築は未解決) - RCC-S 条件が成立しない場合の精度保証なし - 単一根本原因を前提とした設計であり、複数同時根本原因への対応が限定的 - 論文では説明可能性の評価なし(どの経路で根本原因と判断したかの説明) ## 関連 - ソース: [[@2025__arXiv__Rethinking the Evaluation of Microservice RCA with a Fault Propagation-Aware Benchmark]] - 概念: [[根本原因分析]] / [[限定観測可能性]] / [[因果推論ベースRCA]] / [[Fault Localization]] / [[AIOps]] / [[マイクロサービスアーキテクチャ]] - エンティティ: [[LatentScope]] / [[Dan Pei]] / [[Shenglin Zhang]] / [[Minghua Ma]] / [[Yongqian Sun]] / [[Zhe Xie]] - コード: https://github.com/NetManAIOps/LatentScope