DEV Community

Tutty
Tutty

Posted on

1 1

Survey: Evaluation of Causal Inference Techniques for AIOps

 選定理由

IBM Researchによる因果推論を用いたシステム異常検出&改善リコメンデーションという比較的新しい研究分野。他にも[Wu2021]など見られる。

Paper: https://dl.acm.org/doi/pdf/10.1145/3430984.3431027?casa_token=uYzoMXLN3yUAAAAA:PGQHELCctUAtuqycxifRuiIIJxero6Ww1LyOIKB6iEyR7MyBX-BUgZ-P5uZMC415A1avloiFqXA

Code: N/A

 概要

[ビジネス課題]システムのオペレーションチームはシステム稼働率を高くするためにできる限り早いシステムダウン・システム異常の原因解明が必要になる。
[技術課題]異常検出や事故検知系タスクは事象の発生確率自体が低く、観測できず学習データを集めにくい。又、Microserviceアーキテクチャのような複雑なシステムは実験系データであっても交絡因子が多く因果関係を読み取るのが困難
[従来]機械学習及び統計学の検知からの分析、トライ&エラー、エキスパートの知識と経験による探索的分析
[提案]複数のGranger因果性分析による因果モデル化
[効果]実験ではMicroserviceアーキテクチャのシステム障害要因を推定する手法としてCIが有効であることを示した。又、障害の予測ではfalse positiveが低減した。

 システム障害原因の因果推論

特徴量は2通り

Image description

システムログを時系列データ(一定周期でのbinning)として扱う方式とタプル形式のイベントとして扱う方式の2通り。

因果モデル

Granger因果性分析に基づく手法複数で実施。回帰分析、独立性検定、Graphical Event Model(GEM) の3通りで分析。このうちGEMだけがタプル形式のデータ入力である。
詳細:TODO

 実験

オープンなチケット予約シミュレータ TrainTicket Microservice から ts-ui-dashboard, ts-travel2-service, ts-travel-service, ts-ticketinfo-service のサービスを稼働させて、fault injection により模擬的にシステムダウンのデータを取得した。microservice名、コンテナID、時刻、(プロセスからの)ログ出力など71フィールドを持つ。これに対し辞書形式のラベリングルール(例えば、500 Internal Server Errorを含んでいればエラー、等)でエラーあり、なしをラベル付けした。

回帰分析、因果性分析、Graphical Event Model(GEM) の3通りで分析した。推定された因果モデルは以下である。

estimated causal models

左から正解の因果モデル、因果性分析、回帰分析、PGEM(proximal graphical event model) の結果である。ここで金色のラインは正解の因果関係、false positive(第一種過誤)はグレーの線、false negative(第二種過誤)はグレーの破線である。

Image description

上の表は因果グラフが正解かどうかを評価し、比較した表である。PGEMが最も高いF1である。時系列特徴を使用する場合はbinの長さによって結果がかなり変わりうることがわかる。

Image of Datadog

Create and maintain end-to-end frontend tests

Learn best practices on creating frontend tests, testing on-premise apps, integrating tests into your CI/CD pipeline, and using Datadog’s testing tunnel.

Download The Guide

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more