# LogSed: Anomaly Diagnosis through Mining Time-Weighted Control Flow Graph in Logs Conference/Journal: CLOUD Created: February 2, 2021 10:53 AM Tags: log URL: https://ieeexplore.ieee.org/document/8030620 Year: 2017 # Abstract Detecting execution anomalies is very important to monitoring and maintenance of cloud systems. People often use execution logs for troubleshooting and problem diagnosis, which is time consuming and error-prone. There is great demand for automatic anomaly detection based on logs. In this paper, we mine a time-weighted control flow graph (TCFG) that captures healthy execution flows of each component in cloud, and automatically raise anomaly alerts on observing deviations from TCFG. We outlined three challenges that are solved in this paper, including how to deal with the interleaving of multiple threads in logs, how to identify operational logs that do not contain any transactional information, and how to split the border of each transaction flow in the TCFG. We evaluate the effectiveness of our approach by leveraging logs from an IBM public cloud production platform and two simulated systems in the lab environment. The evaluation results show that our TCFG mining and anomaly diagnosis both perform over 80% precision and recall on average. 実行異常を検出することは、クラウドシステムの監視や保守を行う上で非常に重要です。人々はトラブルシューティングや問題診断に実行ログを利用することが多いが、これは時間がかかり、エラーが発生しやすい。ログに基づく異常検知の自動化が求められている。本論文では、クラウド上の各コンポーネントの正常な実行フローを捉えた時間加重制御フローグラフ(TCFG)を作成し、TCFGからの逸脱を検知した場合に自動的に異常アラートを発生させる。本稿では、ログ中の複数スレッドのインターリーブへの対処方法、トランザクション情報を含まない運用ログの識別方法、TCFG中の各トランザクションフローの境界を分割する方法の3つの課題について概説した。IBMパブリッククラウドの本番プラットフォームとラボ環境の2つの模擬システムからのログを活用して、我々のアプローチの有効性を評価します。評価の結果、我々のTCFGマイニングと異常診断は、どちらも平均して80%以上の精度とリコールを実現していることがわかりました。 # まとめ ### 背景 - 大規模なソフトウェアシステムで特に課題となるのが,問題が発生したときに,いかに迅速に問題を診断し,根本原因を特定するかということである. - ログは,問題診断のための一般的な情報源であるが,通常,管理者は手動でログファイルをチェックし,問題に関連するログ行を検索する. - しかし,今日の大規模システムでは,毎日のログデータの量が数十テラバイト(TB)に達することもあり,手動で問題を診断するのは時間がかかりエラーが発生しやすい. - また,システムの問題は,コンポーネントやサービスをまたいで発生することがあり,特定の「エラー」ログに基づいて根本的な原因を見つけることは困難であることも多い. ### 提案 - 事前のシステム知識や仮定を必要とせずにシステムのログから時間重み付き制御フローグラフ(TCFG)をマイニングするアプローチであるLogSedを提案する.さらに,TCFGはクラウド上の各コンポーネントの正常な実行フローを捉えているため,その逸脱を検知した場合に,システム異常としてアラートを発生させることができる. - 時間重み付き制御フローグラフ(TCFG)の設計 - TCFGは,エッジとノードからなる有向グラフで, - ノードはテンプレート.ここでのテンプレートは,ソースコードのprint文を抽象化したものので,異なる実行で異なるパラメータ値が埋め込まれたログとして現れる.つまり,ログの行の中で変数パラメータ以外の不変のキーワードがテンプレート - エッジは各制御フローがノード間をどのように通過するかを表し,エッジの重みは 2 つのノード間の遷移時間を表す - ログはタスク/スレッド/トランザクションIDを含み、各トランザクションでログをつなぎ合わせる. - TCFGは様々なログメッセージタイプやテンプレートをつなぎ合わせて,ベースラインの健全なシステム状態を表し,実行時に期待される動作からの逸脱を検知するために使用される. ![[LogSed Anomaly Diagnosis through Mining Time-Weigh/Untitled.png]] - 以下は提案システムの全体像 ![[LogSed Anomaly Diagnosis through Mining Time-Weigh/Untitled 1.png]] - 異常検知手法 - 検知する異常は以下の3種類 1. シーケンス異常 親ノードの子ノードがログストリーム中に予想される時間ラグ間隔内に見当たらない場合に検知 2. 冗長性異常 TCFGの時間パス内のどのノードにもマッピングできない予期せぬログが発生した場合に検知.予期せぬログとは,どのテンプレートにも対応できない明らかな異常なログやログテンプレートの冗長な発生である可能性がある. 3. 遅延異常 親ノードの子ノードが見られるが,間隔時間がエッジに記録された時間の重みを超えている場合に検知 ### 評価 - IBMパブリッククラウドの本番プラットフォームとラボ環境の2つの模擬システムからのログを用いる. - 実験の結果,異常診断では90%近くの精度と80%以上のリコールが得られることがわかった.