# MonitorRank
サービスが生成したトレース(相互作用の開始/終了時刻、送信元/宛先サービス、性能メトリクス(レイテンシ・エラー数・スループット)、リクエスト識別子を含む)をバッチ処理で周期的に処理し、時間期間ごとにトポロジグラフを構築する、topology graph-based RCAシステム [38]。(Source: [[@2021__CSUR__Anomaly Detection and Failure Root Cause Analysis in (Micro)Service-Based Cloud Applications - A Survey - Chapter 4.1 Log-based and Distributed Tracing-based Root Cause Analysis Techniques]] §4.2.3)
## 動作
1. トレースからサービス呼び出し連鎖を再構成し、それらを組み合わせてアプリケーショントポロジ(サービスを頂点、相互作用を辺とするグラフ)を期間ごとに構築する。
2. 観測された性能異常が属する期間のトポロジグラフに対し、personalized PageRankアルゴリズムを実行する。
3. フロントエンドサービスから開始し、固定回数のランダムステップでグラフをランダムウォークする。各ステップでは、訪問中のサービスの近傍(呼び出し先・呼び出し元)の中から次に訪れるサービスをランダムに選ぶ。各近傍の選択確率は、その近傍の性能メトリクスとフロントエンドの性能メトリクスとの相関に比例する。
4. 訪問回数でランク付けされたサービスのリストを返す。フロントエンドとの性能相関に基づいて訪問されるため、訪問回数が多いサービスほど観測された性能異常を説明しうる可能性が高いとみなす。
MicroHECL [44] と同じくtopology graph-based analysisに分類されるが、MonitorRankはバッチ周期でのトポロジ構築・ランダムウォーク・application-level異常を対象とするのに対し、MicroHECLはイベントトリガーの時間窓でのトポロジ構築・幅優先探索・service-level異常を対象とする点で異なる。またMonitorRankのランダムウォークベースアルゴリズムは、log-basedのAggarwal et al. [1](§4.1.1)のcausality graphスコアリングにも流用されている。
## 関連
- ソース: [[@2021__CSUR__Anomaly Detection and Failure Root Cause Analysis in (Micro)Service-Based Cloud Applications - A Survey - Chapter 4.1 Log-based and Distributed Tracing-based Root Cause Analysis Techniques]]
- 概念: [[分散トレーシング]] / [[因果推論ベースRCA]]