## Memo
- [[2018__ICSOC__Microscope―Pinpoint Performance Issues with Causal Graphs in Micro-service Environments|Microscope]]や[[2020__WWW__AutoMAP - Diagnose Your Microservice-based Web Application|AutoMAP]]と同じ研究グループ。
- 後継論文の実装 https://github.com/PanYicheng/dycause_rca/blob/main/main_cloud_ranger.py
## Structure
### 1. Standpoints
- [[2013__PER__Root Cause Detection in a Service-Oriented Architecture|MonitorRank]]
- issue 1: 正確なコールグラ フをキャプチャするために多くのコストがかかる [[Zipkin]]など
- issue 2: 正確なコールグラフを持っていても、エラー伝搬経路が常に そこに埋め込まれていると仮定できない。リソース共有などの理由で。see [[障害における影響伝搬パターンの考察]]
### 2. Contributions
- 正確なコールグラフの代わりに、データ駆動型インパクトグラフを提案し、インパクトグラフに対する2次ランダムウォークに基づく発見的調査アルゴリズムを用いて、様々なクラウド設計パターンを扱い、問題のあるサービスを特定する
### 3. Major Ideas
![[Pasted image 20230409145700.png|800]]
- Framework
1. まず異常の発生を検出し、正常なサ ービスを除去し、多数のターゲットから異常な候補を見つけ る。
2. 次に、サービス間の[[相互相関]]に基づく因果関係分析により、サービスインパクトグラフを抽出する。
3. 第三に、任意のサービスのペアについて、与えられたメトリ クスに対するサービス間の依存性の定量的な尺度として相関スコアを計算する。必要な場合、CloudRangerはマイクロサ ービスアーキテクチャの特殊な設計パターンを検出し、較正することで、アルゴリズムの精度に対する悪影響を排除する。
4. 最後に、インパクトグラフと相関スコアに基づいて2次ラ ンダムウォークを行い、異常なサービスランクを生成する
- インパクトグラフの構築は[[PCアルゴリズム]]とほぼ同等。
- グラフ探索
- [[2次ランダムウォーク]]
- 前方遷移。我々の方式では、サーファーは以前に訪問したノ ードを考慮する
- 以前に訪れたノードを考慮した[[自己回帰モデル]]を定義
- パラ メータ β ∈ (0, 1) は、以前に訪れたサービスからの効果の強さを制御する。
- 前方遷移のみが与えられると、現在のサービス がフロントエンドのサービスと高い相関を示し、他のすべての近隣のサービスがそうでない場合でも、サーファーはインパク トグラフに沿って前方に移動できる。これに対応して、2つの追加的なタイプの遷移、すなわち、後方および自己方向を設定し、サーファーがより多くの経路を見つけ、そのランダムウォークをより発見的にするのに役立てる
- 自己遷移。また、サーファーは、その内外のサービスのいずれも高い相関スコアを持 たない場合、訪問サービスを長く継続することが推奨
![[Pasted image 20230409182107.png|600]]
### 4. Results
- シミュレート実験設定
- 故障:サービスホストのシャットダウンや、 サービス拒否を使用した攻撃
- メトリックのインターバルは$\omega=5$ 秒
- $\alpha$が0.01 ~ 0.5の間で比較。0.5のとき、性能が最大となる
- ![[Pasted image 20230409182737.png]]
- t=1500~800の間で比較
- 1〜2時間の間のデータを用いている
- ![[Pasted image 20230409183626.png]]
### 5. Discussions & Limitations
## Abstract
> Abstract—As more and more systems are migrating to cloud environment, the cloud native system becomes a trend. This paper presents the challenges and implications when diagnosing root causes for cloud native systems by analyzing some real incidents occurred in IBM Bluemix (a large commercial cloud). To tackle these challenges, we propose CloudRanger, a novel system dedicated for cloud native systems. To make our system more general, we propose a dynamic causal relationship analysis approach to construct impact graphs amongst applications without given the topology. A heuristic investigation algorithm based on second-order random walk is proposed to identify the culprit services which are responsible for cloud incidents. Experimental results in both simulation environment and IBM Bluemix platform show that CloudRanger outperforms some state-of-the-art approaches with a 10% improvement in accuracy. It offers a fast identification of culprit services when an anomaly occurs. Moreover, this system can be deployed rapidly and easily in multiple kinds of cloud native systems without any predefined knowledge.
(以下, DeepL翻訳による和訳)
クラウド環境に移行するシステムが増加する中で、クラウドネイティブシステムがトレンドとなっている。本稿では、IBM Bluemix(大規模商用クラウド)で実際に発生したインシデントを分析し、クラウドネイティブシステムの根本原因を診断する際の課題と意味合いを提示する。これらの課題を解決するために、本研究では、クラウドネイティブシステム専用の新しいシステムであるCloudRangerを提案する。このシステムをより一般的なものにするために、トポロジーを与えずにアプリケーション間の影響グラフを構築する動的因果関係分析アプローチを提案する。クラウドインシデントの原因となっているサービスを特定するために、二次ランダムウォークに基づくヒューリスティックな調査アルゴリズムを提案する。シミュレーション環境とIBM Bluemixプラットフォームの両方での実験結果では、CloudRangerが精度を10%向上させ、いくつかの最先端のアプローチを上回ることが示されています。これにより、異常が発生した際に、犯人サービスを迅速に特定することができます。さらに、このシステムは、事前に定義された知識がなくても、複数の種類のクラウド・ネイティブ・システムに迅速かつ容易に導入することができます。
[[2018__CCGRID__CloudRanger―Root Cause Identification for Cloud Native Systems__translations]]