# Metric Criticality Identification for Cloud Microservices
Navigation: [[index]] | [[アラート管理]] | [[マイクロサービスアーキテクチャ]] | [[KIMetrix]]
> [!abstract] 概要(arXiv abstract の日本語訳)
> マイクロサービスアーキテクチャの上に構築された現代のクラウドネイティブアプリケーションは、システム監視とアラート設定にこれまでにない挑戦を提示する。Site Reliability Engineer(SRE)は、システム信頼性を保証するために膨大なメトリクスにわたって有効な監視戦略を定義するという困難な課題に直面する——これは伝統的に広範な手作業による熟練を要する仕事だ。マイクロサービスの分散性質、すなわち確率的な実行パターンと込み入ったサービス間依存性は、伝統的な手作業の大量メトリクスの渉猟をコンピュテーション的・運用的に不可能にする。この決定的な挑戦に対処するため、本研究は KIMetrix を提案する——これは SRE がマイクロサービスアプリケーションを監視するうえで、最小かつ包括的なメトリクスの部分集合を自動的に特定する、データ駆動のシステムだ。KIMetrix は情報理論的指標、特にエントロピーと相互情報量を活用して、マイクロサービストポロジに固有の確率的実行パターンを考慮しつつメトリクスの重要性を定量化する。我々のアプローチは軽量なメトリクスとトレースのみで動作し、非構造化ログの高コストな処理を不要にし、熟練者定義の訓練データも不要だ。最先端の実世界マイクロサービスベンチマークデータセット上での実験評価は、SRE への負担を大きく減らしつつ包括的なシステム被覆を提供する重要メトリクス部分集合の特定における KIMetrix の有効性を実証する。重要メトリクスのアラート用自動特定によって KIMetrix はオペレータを誤検知の洪水で圧倒することも重大事象を見落とすこともなく、より信頼性の高いシステム監視を可能にする。
## 論文情報
- **タイトル**: Metric Criticality Identification for Cloud Microservices
- **著者・所属**: [[Akanksha Singal]]([[IBM Research]] India + [[IIIT Delhi]])、[[Divya Pathak]]・[[Kaustabha Ray]]・[[Felix George]]・[[Mudit Verma]]・[[Pratibha Moogi]]([[IBM Research]] India)
- **発表媒体**: arXiv 2501.03547v2(2025-01-07 初版、2025-07-28 改訂)、未査読会議の段階
- **DOI**: 10.48550/arXiv.2501.03547
## 概要
KIMetrix は、SRE がマイクロサービスアラート設定の前段で「どのメトリクスを監視するか」を自動推薦するシステムだ。情報理論的指標(エントロピーと相互情報量)で「個別の情報量が高く相互に冗長でない」最小メトリクス集合を選定する Informative Metric Subset Problem を定式化し、その NP 完全性を最大重み付きクリーク問題からの帰着で証明する。3 段のアルゴリズム——(1) 単一マイクロサービス向けの貪欲選定、(2) DAG トポロジ上でパス確率に応じた ϵ 調整による拡張、(3) AIMD で ϵ を自動チューニング——を組み合わせ、SelectKBest・mRMR・Boruta・Max Weighted Clique を上回る coverage を達成する。
## 問題設定
- **入力**: マイクロサービスアプリケーション `A(M, E)`(M はマイクロサービス集合、E は依存エッジ)、各マイクロサービスの観測可能メトリクス `Ψm`、軽量トレース(パス確率の算出に使用)。
- **出力**: 各マイクロサービスへの最小情報的メトリクス部分集合のマッピング `Γ*A : M → P(Ψm)`。
- **制約**: 任意のメトリクスペア間の相互情報量が ϵ 以下(冗長性の上限)、選択メトリクス総数が χ 以下(予算)。
- **問題形式**: 平均エントロピー(`Σ H(ψ) / Σ |ΓA(m)|`)を最大化する非自明な組合せ最適化。NP 完全性を証明済み。
## 提案手法(KIMetrix)
### Algorithm 1: Microservice Metric Subset Selection(単一サービス向け)
- 各メトリクスのエントロピー `H(ψk) = -Σ P(ψk=ψki) log2 P(ψk=ψki)` を算出(連続値は離散ビンに)。
- エントロピー降順でソートし、貪欲に追加。既選択メトリクスとピボット集合 π 内の任意メトリクスとの相互情報量 `M(ψ′, ψ)` が ϵ を超えるなら冗長と判定して棄却。
- ピボットを使うことで上流マイクロサービスの選定結果を制約として持ち越せる。
### Algorithm 2: Topology Aware Subset Selection(DAG 全体向け)
- A(M, E) をトポロジカルソートし、ルートから順に Algorithm 1 を適用。
- 子ノード m について、上流ノードの選定結果を合一してピボット `πm = ∪Γ(m′)`(L(m′) < L(m))を構成。
- 各パス ρ について `ϵ ← ϵ × 1/P(ρ)` で閾値を調整: 低確率パス(レア障害シナリオ)は閾値を高くして残しやすくし、高頻度パスは閾値を低くして冗長を厳しく排除。
- 確率は `P(m1 → m2 → ⋯ → mn) = P(m1) · Π P(mi | mi-1)` でトレースから推定。
### Algorithm 3: AIMD Driven Informative Metric Subset(ϵ 自動チューニング)
- 入力: tolerance τ・乗算因子 α・加算因子 β・反復数 η・初期 ϵ。
- 各反復で Algorithm 2 を実行 → 選択集合サイズ ξ を観測。
- ξ が直近の subset_sizes に対し |ξ - s| < τ なら ϵ を `ϵ + β` で加算(集合を小さく)、外れたら `ϵ × α` で乗算的に縮小(集合を大きく)。
- 全反復後、最大カバレッジ `Cmax` を取った集合のうち最小サイズを返す。
- 計算量: `O(η · |M| · ρmax · (Ψmax)²)`。
## 新規性
- マイクロサービス向けのメトリクス選定を Informative Metric Subset Problem として定式化し、NP 完全性を証明した初の研究。
- マイクロサービストポロジを「パス確率に応じた ϵ 重み付け」で取り込む設計は既存手法(SelectKBest・mRMR・Boruta・Max Weighted Clique)にない。
- 教師ラベル不要・SOP 不要・非構造化ログ処理不要で、メトリクスと軽量トレースのみで動く「最も軽量な」前段選定。
- AIMD で SRE の事前パラメータ指定(χ・ϵ)を不要にする自動チューニング。
## 実験設定
- **ベンチマーク 1: Quote of the Day(QoTD)**: 自社で OpenShift クラスタ上に構築。Prometheus + Instana で 3 秒間隔で 1 日分(253 ユニークメトリクス)。CPU・メモリ・レイテンシ・エラー率に 40 種類のアノマリを 1-10 分間注入、10-30 分の健全期間を挟む。Healthy(注入なし)と Mix(注入あり)の 2 データセット。
- **ベンチマーク 2: DeathStarBench Social Network**: 公開ベンチマーク。Kubernetes 上で約 4000 万トレース。CPU・メモリ・IO・ネットワークの 180 メトリクス、複数強度のボトルネック注入。
- **比較指標**: 全体カバレッジ `C` と異常メトリクスカバレッジ `CA`。相関閾値は Mutual Information・Pearson・Spearman・Kendall の 4 種で評価。
- **ベースライン**: SelectKBest(教師あり)、mRMR(教師あり)、Boruta(教師あり)、Max Weighted Clique(教師なし、相関グラフから最大重みクリーク)。
## 実験結果
### Q1: メトリクス削減と coverage トレードオフ
QoTD Mix での相関手法ごとの subset size と coverage(Table II 抜粋):
| 相関手法 | データ | (|M|, ϵ) | C | CA |
|---|---|---|---|---|
| Mutual Information | Mix | (95, 3×10⁻²) | 86.90% | 76.85% |
| Spearman | Mix | (96, 3×10⁻²) | 89.68% | 76.85% |
| Kendall | Mix | (65, 2.0×10⁻²) | 84.50% | 73.14% |
| Pearson | Mix | (74, 2×10⁻²) | 78.96% | 71.30% |
Mutual Information は coverage とプルーニング閾値のバランスが最良で汎化しやすい。
### Q2: トポロジ考慮の効果
QoTD でフラット選定(Algorithm 1 単独適用)と Topology-aware(Algorithm 2)を比較(Table III、N=500 反復):
| データ | フラット(時間) | Topology(時間) |
|---|---|---|
| Healthy | 12.00 h | 5.15 h |
| Mix | 6.90 h | 0.60 h |
パス確率による探索空間絞り込みで実行時間を 1 桁短縮。
### Q3: 既存手法との比較
QoTD Mix CPU + Memory(全メトリクス 253、Table IV):
| 手法 | 自動 | サイズ | CA (MI) | C (MI) | 実行時間 |
|---|---|---|---|---|---|
| SelectKBest+ | × | 60 | 73.15% | 63.88% | 0.04 s |
| mRMR+ | × | 60 | 73.15% | 63.88% | 39.30 s |
| Boruta+ | ○ | 26 | 71.30% | 48.01% | 57.50 s |
| Max Weighted Clique | ○ | 89/68/78/85 | 74.07% | 59.92% | 300.20 s |
| **KIMetrix** | ○ | 76/97/74/75 | **76.85%** | **86.90%** | 2080 s |
DeathStarBench CPU(180 メトリクス、Table V):
| 手法 | サイズ | CA (MI) | C (MI) |
|---|---|---|---|
| SelectKBest+ | 60 | 82.77% | 83.33% |
| mRMR+ | 60 | 95.55% | 96.11% |
| Boruta+ | 149 | 90.55% | 88.88% |
| Max Weighted Clique | 148/142/141/141 | 82.77% | 82.77% |
| **KIMetrix** | 114 | **99.44%** | **99.44%** |
DeathStarBench Memory(変動が小さく差が出にくいデータ)では各手法が拮抗するが、KIMetrix は subset size 45 と最小。
### Q4: AIMD パラメータの影響
- (α, β) = (0.2, 0.001): 緩やかな成長で安定だがカバレッジ限定。
- (α, β) = (0.4, 0.005): 滑らかな成長と穏やかな減少。
- (α, β) = (0.8, 0.05): 急速な収束と安定。Mix データはトレランス外で急減を見せる。
## 考察
- DeathStarBench Memory での差が小さいのは、メモリ使用量の変動性が低いためデータ自体の弁別力が低いから。高変動データ(CPU・レイテンシ)で KIMetrix の優位が顕著。
- 教師あり手法(SelectKBest・mRMR・Boruta)はラベル付き異常で CA が一定値以上を確保するが、ラベルなし全体カバレッジ C で大きく劣る。一方 KIMetrix は教師なしで CA と C の両立を達成する。
- 実行時間は KIMetrix が最長だが、メトリクス選定は「ワークロード分布が変わったとき」の offline タスクなので運用上のコストは無視できる。
- AIMD ログを通じて複数のサブセットとそのカバレッジを呈示でき、SRE が subset size vs coverage のトレードオフを探索できる(他手法は単一サブセットのみ)。
## 強み
- 形式的問題定式化と NP 完全性の証明を伴う数理的厳密性。
- マイクロサービストポロジを陽に取り込む唯一のメトリクス選定手法(他のベースラインはフラット)。
- 完全教師なしでログを使わない軽量設計。SRE が事前にメトリクス数や閾値を指定する必要がない。
- QoTD(本番風シナリオ)+ DeathStarBench(オープンベンチマーク)の 2 系統評価で再現性を担保。
## 弱点・課題
- arXiv 段階で査読会議には未掲載(2025-07-28 v2)。
- 実行時間が他手法より長い(QoTD で 2080 s、DeathStarBench で 5880 s)。AIMD の反復数 η を 100 で固定しており、コスト性能の最適点は未探索。
- 異常注入ベースの評価で、実本番障害の coverage 評価は欠落。
- メトリクス選定の「下流タスク有効性」(MTTR 短縮・偽陽性率削減など)は直接測定されていない。Coverage と実運用効果のギャップは未検証。
- 将来課題として「ログを軽量に取り込む」が明示されるが、現状はメトリクス + トレースのみで、ログ情報を欠く環境では適用可能性が制約される。
- AIMD の停止条件は反復数 η のハード制限のみで、収束保証は与えられていない。