# Failure Diagnosis in Microservice Systems
## 概要
Shenglin Zhang ほか(Nankai University / Microsoft / Tsinghua University)による 2024 年のサーベイ。マイクロサービスが独立デプロイと動的な相互作用ゆえに固有の障害診断の難しさを持ち、それがカスケード障害につながるという問題設定から出発する。**2003 年から現在までの 98 本**を対象に、基礎概念・システムアーキテクチャ・問題定式化を整理したうえで、次元ごとの定性分析を行う。実務者が技術を選定・検証できるよう、**公開データセット・ツールキット・評価指標を併せて集約している**点が本サーベイの実用面での特徴である。
> [!abstract] 概要(abstract の日本語訳)
> スケーラビリティと柔軟性のゆえに広く採用されている現代のマイクロサービスシステムは、その独立したデプロイと動的な相互作用のために、固有の障害診断上の難しさを呈する。この複雑さはカスケード障害を招きうるものであり、運用効率と利用者体験に悪影響を与える。マイクロサービスシステムの安定性と信頼性を高めるうえで障害診断が果たす決定的な役割を認識し、研究者たちは広範な研究を行い、数多くの重要な成果を挙げてきた。本サーベイは 2003 年から現在に至る 98 本の学術論文を網羅的にレビューし、基礎概念・システムアーキテクチャ・問題定式化の詳細な検討と解明を含む。加えて諸次元の定性分析を行い、現在の最良実践と今後の方向を掘り下げて論じ、この分野のさらなる発展と応用を目指す。さらに本サーベイは、実務者が技術を選定し検証することを容易にするため、公開されているデータセット・ツールキット・評価指標を集約する。
## 書誌情報
- 著者: Shenglin Zhang, Sibo Xia, Wenzhao Fan, Binpeng Shi, Xiao Xiong, Zhenyu Zhong, Minghua Ma, Yongqian Sun, Dan Pei
- 所属: Nankai University / Haihe Laboratory of Information Technology Application Innovation / Microsoft(Redmond)/ Tsinghua University
- 媒体: arXiv:2407.01710
- 発表: 2024-06-27
- URL: https://arxiv.org/abs/2407.01710
- 構成: 全 8 章(52 PDF ページ)。対象は 2003 年以降の 98 本
- 原本: `.raw/theses/arxiv-2407.01710/`
## 構成と主要テーマ
本サーベイの主軸は**観測データのモダリティ**である。第 4 章がログ・メトリクス・トレース・マルチモーダルの 4 節に分かれ、各節の内側でさらに手法の型による下位分類が立つ二段構造を持つ。
> [!note] 章番号について
> 原本の第 4 章は 25 ページあり、データモダリティ別の下位節が本サーベイの主軸をなす。1 枚に押し込むと分類が失われるため §4.1〜§4.4 を独立章として切り出し、全 8 章 → 全 11 章に組み直した。
### 問題設定(第 1〜3 章)
→ [[@2024__arXiv__Failure Diagnosis in Microservice Systems - A Comprehensive Survey and Analysis - Chapter 1 Introduction]] — 既存サーベイ 8 本の 4 つの空白(RCL/FC 未分離・単一モーダル偏重・実務観点欠如・公開資源未統合)を指摘し、98 論文対象の包括サーベイを提案する。
→ [[@2024__arXiv__Failure Diagnosis in Microservice Systems - A Comprehensive Survey and Analysis - Chapter 2 Methodology]] — 12 会議・5 誌・5 リポジトリから 2,548 本を収集し、除外基準・品質評価・スノーボーリングで 98 本に絞る手続き。
→ [[@2024__arXiv__Failure Diagnosis in Microservice Systems - A Comprehensive Survey and Analysis - Chapter 3 Terminologies]] — マルチモーダルデータ 5 種の定義、**根本原因箇所特定(ランキング問題)と障害分類(分類問題)の正式な定式化**、service / instance / component の 3 段階粒度、障害 6 タイプの分類。
### モダリティ別の手法(第 4 章)
→ [[@2024__arXiv__Failure Diagnosis in Microservice Systems - A Comprehensive Survey and Analysis - Chapter 4.1 Failure Diagnosis Through Logs]] — 原理(統計/ルール・ML・DL)による 3 分類。**診断粒度がコンポーネントレベルに偏る**。
→ [[@2024__arXiv__Failure Diagnosis in Microservice Systems - A Comprehensive Survey and Analysis - Chapter 4.2 Failure Diagnosis Through Metrics]] — 直接分析・ウォーク・サーチ・特徴抽出・その他の 5 分類、47 手法。**PC アルゴリズムによる因果グラフ構築とランダムウォーク/PageRank が主流**。
→ [[@2024__arXiv__Failure Diagnosis in Microservice Systems - A Comprehensive Survey and Analysis - Chapter 4.3 Failure Diagnosis Through Traces]] — 特徴抽出 → 異常検知 → 根本原因分析の 3 段階パイプラインとして整理し、RCA をさらに類似度マッチング・スペクトラム・ウォーク・因果分析に細分する。
→ [[@2024__arXiv__Failure Diagnosis in Microservice Systems - A Comprehensive Survey and Analysis - Chapter 4.4 Failure Diagnosis Through Multimodal Data]] — **result fusion → model fusion → feature fusion** の 3 系統。単一モダリティでは捕捉できない障害の検知と、より細粒度の根本原因特定を可能にする。
### 総括と実務資源(第 5〜8 章)
→ [[@2024__arXiv__Failure Diagnosis in Microservice Systems - A Comprehensive Survey and Analysis - Chapter 5 Discussion]] — 動向・粒度と説明可能性・特性と移植性・精度とコスト・最良実践と将来方向の 5 観点で総括する。**定量比較表を持たない完全に定性的な章**である。
→ [[@2024__arXiv__Failure Diagnosis in Microservice Systems - A Comprehensive Survey and Analysis - Chapter 6 Datasets and Metrics]] — **本サーベイで最も実務価値の高い章**。公開データセット・ツールキット 20 種・評価指標(RCA のランキング指標 A@k・MAP@K・MRR ほか、障害分類の P/R/F1 系)を集約する。
→ [[@2024__arXiv__Failure Diagnosis in Microservice Systems - A Comprehensive Survey and Analysis - Chapter 7 Related Work]] — 先行サーベイとの守備範囲の違い(旧世代・単一モダリティ・最も近い Notaro/Soldani・定量比較系の 4 群に整理)。
→ [[@2024__arXiv__Failure Diagnosis in Microservice Systems - A Comprehensive Survey and Analysis - Chapter 8 Conclusions]] — マルチモーダルデータによる障害診断技術を 2003 年から包括的に検討した初のサーベイであることを総括する。
## 位置づけと影響
- **マルチモーダルが独立カテゴリに昇格した**のが、先行サーベイとの最大の差である。[[Anomaly Detection and Failure Root Cause Analysis in (Micro)Service-Based Cloud Applications]](Soldani & Brogi、2021)はデータ源を 3 分類(ログ / トレース / 監視)としたが、本サーベイ(2024)は第 4 のカテゴリとしてマルチモーダルを立て、その内部を融合の段階(result / model / feature)で細分する。**3 年で融合そのものが研究対象になった**ことを示す。
- **モダリティが診断粒度の上限を決める経路と、それを迂回する経路が並立する**。ログベースはコンポーネントレベルに偏り、トレース/メトリクスベースはより細かい粒度を返せる。一方で TrinityRCL・NetMedic のように因果グラフの設計次第で粒度を自由に選べる手法もあり、「モダリティが粒度を決める」という一般則には抜け道がある([[Fault Localization]] に記録)。
- **定量比較を最後まで行わない**。第 4 章の Table 3〜6 も第 5 章も、個別手法の precision/recall/F1 を報告しない(分類列のみ)。**98 本を集めた包括サーベイが、精度の横並び比較には踏み込まない**という選択をしている。これは Soldani & Brogi(2021)が §3.4.3・§4.4.3 で「定量比較は範囲外」と明示したのと同じ姿勢であり、この分野で評価環境・データセットが揃わない状況が 3 年間変わっていないことを示す。
- **第 6 章の実務資源が本サーベイ固有の貢献である**。公開データセット・ツールキット 20 種・ランキング指標の定義を集約し、**公開ツールキット率 21.43%** という再現性の指標も示す。[[マイクロサービスベンチマーク]] には「ベンチマークシステム 対 データセット」という既存 2 分類に、AIOps Challenge・GAIA のような**産業界提供・非公開環境由来のデータセット**という第 3 の出自が加わった。
- **entity 名の衝突を 1 件検出した**。本サーベイの `Sage`(トレースベース RCA)は既存 [[SAGE]](USENIX 傘下団体)と別実体のため、entity 化せず本文中のプレーンテキストにとどめた。一方 `Sieve` は既存 entity と**同一システム**であることを確認したうえでリンクした(同名でも実体が同じか別かで扱いを分けた)。
- **既存 wiki の事実誤りを 1 件発見・訂正した**。[[根本原因分析]] の以前の記述が本サーベイの参照 [130] を「T-Rank」としていたが、原本の参考文献リストで `[130] Yu Gan et al. 2023. Sleuth` と確認し訂正した。
## 関連
- 概念: [[AIOps]] / [[Fault Localization]] / [[マイクロサービスアーキテクチャ]] / [[マルチモーダル障害診断]] / [[ログ解析]] / [[根本原因分析]]
## 出典
- Shenglin Zhang et al., "Failure Diagnosis in Microservice Systems: A Comprehensive Survey and Analysis", arXiv:2407.01710, 2024.