## Memo
### 0. Metadata
- 清華大学の[[NetManAIOps]] Netman Lab([https://netman.aiops.org/](https://netman.aiops.org/))の研究
- 因果探索や原因特定のアルゴリズムを既存手法を拡張する形で独自に提案している.特に,[[PCアルゴリズム]]を時系列拡張している点が興味深い.
- 異常検知の結果を因果探索に活用するようなフレームワークで,自分たちのやりたいことに近い設計になっている.
- 偏相関ベースのランダムウォーク
- 実装は [[RCAToolBox]] or https://github.com/PanYicheng/dycause_rca/blob/main/microcause.ipynb
### 1. Standpoints
- 第一課題:[[PCアルゴリズム|PC]]のような従来の因果グラフ構築法は 、[[独立同分布]](iid)データに対して設計されているため、伝搬遅延を十分に考慮できない
- ![[Pasted image 20230411122719.png|500]]
- 図5で、PCはMiddleware 1 Consumer QPSがMiddleware 1 Consumer RTに異常をもたらしうることを学習できるだけとなる。
- しかし、Web QPSは17:16に異常となり、17:17のWeb RT、17:18のMiddleware consumer QPに影響する
- PCアルゴリズムは、メトリクスとKPI間の伝搬遅延を無視してしまう。
- 第二課題:[[2018__CCGRID__CloudRanger―Root Cause Identification for Cloud Native Systems|CloudRanger]]や[[2018__ICSOC__Microscope―Pinpoint Performance Issues with Causal Graphs in Micro-service Environments|Microscope]]、[[2013__PER__Root Cause Detection in a Service-Oriented Architecture|MonitorRank]]、 のような[[ピアソン相関係数|ピアソンの相関]]ベースのランダムウォークアルゴリズムは、異常な KPI と相関の高い異常なメトリックが根本原因である可能性が高いという仮定に基づいている
- Fig.6におけるRoot Cause: Web QPSとAnomalous KPI:Web RT ![[Pasted image 20230411121556.png|600]]
- [[2018__CCGRID__CloudRanger―Root Cause Identification for Cloud Native Systems|CloudRanger]]や[[2018__ICSOC__Microscope―Pinpoint Performance Issues with Causal Graphs in Micro-service Environments|Microscope]]とは異なり、KPIだけでなくメトリクス同士の関係性も学習する。そのため、トレーシングなどのシステムツールではグラフを構築できない。
### 2. Contributions
- 第一の課題 -> 伝搬遅延を十分に利用した監視指標の依存関係グラフを学習する新しいPCTS(経路条件時系列)アルゴリズムを設計
- 第二の課題 -> 我々は新しい時間的原因指向ランダムウォーク(TCORW, temporal cause oriented random walk)アプローチを提案
### 3. Major Ideas
![[Pasted image 20230411122339.png]]
- 経験的な障害伝播時間に基づいて、障害の**4時間前**からこの瞬間までの範囲のメトリクスが入力として使用される
- 以下の障害時の因果関係学習と異常検知は並列実行可能
- 障害時の因果関係学習 -> PCTS
- 改良型PCの[[2019__Science Advances__Detecting and quantifying causal associations in large nonlinear time series datasets|PCMCI]]では、データ点同士の因果グラフ $G_c$になるので、PCTSでは、メトリクス同士の因果グラフになるように修正する。$G_c$ に Ijt − τ から Iit への辺が1つあれば、最終的な因果グラフはIj から Ii への辺を持つと仮定する。シンプルな手法で修正される。
- 因果関係の影響の最大タイムラグを指定する必要がある
- 異常検知
- [[SPOT]]を用いて、異常時間と異常度を計算する。計算した異常度は、TCPRWのフェーズで使用する。
- ![[Pasted image 20230411123955.png|500]]
- ランダムウォーク -> TCORW
- ステップ1 原因指向のランダムウォーク
- 相関は交絡因子の影響を取り除くことができないため、相関ではなく[[偏相関]]を用いる。相関アルゴリズム自体はピアソン相関を用いる。
- ステップ2 スコアリング
- メトリクスの異常度と訪問回数からスコアを計算する
- ![[Pasted image 20230411124913.png|300]]
- ステップ3 ランキング
- メトリクスのスコア、メトリ クスの優先度、メトリクスの異常時刻を考慮してランク付けする
- 表2のように、上流のメトリクスは下流のメトリクスに影響を与えるため、上流のメトリクスほど、より高い優先度を持つ。
- QPS増加をタスク増加とみなしてより高レベルとするのがポイント。
- ![[Pasted image 20230411125338.png|600]]
### 4. Experimental design & Results
- 400以上 のマイクロサービスの状態を監視することで、86件のオンラ イン障害チケットを収集した。
- 各マイクロサービスのデータセットには、64のメトリクスと4つのKPIが含まれている。
- 4つのKPIは、Web RT、Middleware1 Provider RT、Middleware2 Receive RT、Middlew are3 Receive RT
- ベースライン
- Anomaly Time Order: 異常時刻順のシンプルなアルゴリズム。
- TON18と[[2013__PER__Root Cause Detection in a Service-Oriented Architecture|MonitorRank]]
- [[2018__CCGRID__CloudRanger―Root Cause Identification for Cloud Native Systems|CloudRanger]A
- [[2018__ICSOC__Microscope―Pinpoint Performance Issues with Causal Graphs in Micro-service Environments|Microscope]]
- PCの有意水準は0.05
- 統合評価では、MicroCauseの性能はAC@5 98.7%を達成した。
- 図8では、PCアルゴリズムを適用すると、因果グラフが2つに別れているケースが起きた。W-RTからの経路がないが根本原因であるW-QPSへ歩けない。これは、時系列をiidデータとして扱うため、タイムラグがあってもエッジを切ってしまうためである。
- ![[Pasted image 20230411130158.png|400]]
- パラメータ評価
- λが0.1から0.7に変化しても性能は変わらず、ρについては0-1の間で性能が変化せず。
### 5. Discussions & Limitations
### 6. Thoughts
- PCMCIは時系列単位ではなく、時系列内の各データ点単位で関係性を学習するため、実行が遅くみえる。KPIとメトリクスの数が多い場合にはスケールしないのではないか。
- SPOTの実行時間も遅い可能性がある。
- 最大タイムラグの指定に関する制限について、評価や議論がない。
- TCORWの偏相関で、Fig. 6のケースを本当に扱えるのだろうか?
## Abstract
柔軟性と明確なロジックのため、マイクロサービスアーキテクチャを適用するインターネットアプリケーションが増えています。そのため、マイクロサービスの安定性は、これらのアプリケーションのサービス品質にとって極めて重要です。正確な障害根本原因のローカリゼーションは、オペレータがマイクロサービスの障害を迅速に回復し、損失を軽減するのに役立ちます。クロスマイクロサービスの障害根源局在化はよく研究されているが、マイクロサービスの障害根源をどのように局在化して、このマイクロサービスの障害を迅速に軽減するかはまだ研究されていない。本研究では、マイクロサービス内の障害根本原因監視指標を正確にローカライズするためのフレームワークであるMicroCauseを提案する。MicroCauseは、時系列データの逐次的な関係を正確に捉える単純で効果的なパス条件時系列(PCTS)アルゴリズムと、監視データの因果関係、時間的順序、優先度情報を統合した新しい時間的原因指向ランダムウォーク(TCORW)手法を組み合わせたもので、マイクロサービスの根本原因監視指標を正確に特定することができる。我々は、世界トップクラスのオンラインショッピングサービスから収集された86件の実世界の故障チケットに基づいてMicroCauseを評価した。実験の結果、MicroCauseのマイクロサービス内障害根本原因特定のトップ5の精度(AC@5)は98.7%であり、最良のベースライン手法と比較して33.4%の大幅な高精度化を達成しました。
[[2020__IWQoS__Localizing Failure Root Causes in a Microservice through Causality Inference__translation]]