Simple Science

最先端の科学をわかりやすく解説

# コンピューターサイエンス# ソフトウェア工学# 人工知能# 機械学習

グラフを使ったログ異常検知の改善

Logs2Graphsは、イベントログのためにグラフベースの手法を使って検出精度を向上させるよ。

― 1 分で読む


ログ異常検出におけるグラフログ異常検出におけるグラフログ分析を変革する。Logs2Graphsは、より高い精度で
目次

イベントログは、クラウドコンピュータやリソグラフィーマシンのようなハイテクシステムにとって重要なんだ。これらのシステムで何が起こっているかを追跡するのに役立つから、ログの異常検出はスムーズな運用に必要不可欠だよ。でも、ログに問題を見つけるためのほとんどの方法は、イベントのカウントや順序に焦点を当てているんだけど、カウントや順序だけを使うと、本当の問題を見逃しちゃうことがあるんだ。

そこで、Logs2Graphsっていう方法を紹介するね。これは、イベントログをグラフに変えるんだ。これらのグラフは有向で、順序が重要だし、イベントに関する詳細な情報も含まれているんだ。特別なネットワーク、グラフニューラルネットワークを使って、これらのグラフの中の問題を見つけるんだ。この新しい視点でログを見ることで、より正確に問題を検出できるんだ。

ログ分析の重要性

クラウドコンピュータのようなシステムは、多くの部品から成り立っていて、だいぶ複雑になってるから、手動で運用や保守するのが難しいんだ。ログは、システムで何が起こっているかの情報を集めるために日常的に使用されるんだ。これらのログを分析することで、早期に故障やリスクを特定できるんだ。この早期発見は、大きな問題を避けるために重要だよ。

ただ、ログは構造化された形式と非構造化の形式が混在していることが多いから、ログ分析を通じて問題を見つけるのは難しいことがあるんだ。研究者や業界がログの問題を見つけるためのより良い方法を求めているから、いくつかのログ異常検出の方法が開発されてきたんだ。

既存のログ異常検出方法

現在のログの問題を検出する方法は、主に3つのタイプに分けられるよ:

  1. 定量ベースの方法:これらの方法(主成分分析(PCA)や一クラスSVM(OCSVM)など)は、各ログイベントが何回起こったかをカウントすることに焦点を当てるんだけど、イベントの意味や順序を見逃しちゃうことが多いんだ。

  2. シーケンスベースの方法:DeepLogやLogAnomalyのようなアプローチは、イベントの順序に注目しているんだ。ログイベントの流れを捉えることができるけど、全体の構造を考慮しないことがあるんだ。

  3. グラフベースの方法:これらはログをグラフに変換して、イベント間の関係を示すんだ。ログの構造を使って、イベントの意味を捉えることができるんだ。

グラフベースの方法には、イベントの構造に関連する問題を特定したり、検出された問題にコンテキストを提供したり、ログの正常な動作を視覚的に示したりする利点があるんだけど、多くの既存のグラフ方法はログを無向グラフに変換しちゃうから、大事な順序の情報を失ってしまうんだ。

異常の説明が必要な理由

これらのアルゴリズムに依存する機械が増える中で、特に安全が重要な分野では、どのように判断がされているかを説明する必要があるんだ。説明を提供することは良い実践だけでなく、責任と透明性のためにも必要なんだ。良い説明は、問題を迅速に診断し、問題が発生したときにタイムリーな介入を可能にするんだ。残念ながら、現在の多くのログ異常検出方法は、問題を検出することにのみ焦点を当てていて、クリアな説明を提供していないんだ。

Logs2Graphsのアプローチ

これらの課題に対処するために、Logs2Graphsを紹介するよ。この方法は、グラフを使ってログの異常を検出するんだ。特別なネットワーク、One-Class Digraph Inception Convolutional Networks(OCDiGCN)を使って、有向グラフの構造から学ぶことができるんだ。

Logs2Graphsのステップ

  1. ログのパース:初期の生ログデータを掃除して整理して、関連するイベントだけを残すんだ。

  2. ログのグループ化:メッセージを識別子に基づいてグループに分けて、管理しやすいセクションを作るんだ。

  3. グラフの構築:各ログのグループをグラフに変えて、ノードがログイベントを表し、エッジがイベントのつながりを示すんだ。これで、シーケンスと構造の情報の両方を捉えることができるんだ。

  4. グラフ表現学習と異常検出:これらのグラフから学ぶためにOCRiGCNを使って、学習したパターンに基づいてどのグラフが異常かを特定するんだ。

  5. 説明:検出された異常ごとに、検出につながった重要なノードを強調して、原因をよりよく理解できるようにするんだ。

Logs2Graphsの利点

Logs2Graphsの方法にはいくつかの利点があるよ:

  1. 精度が高い:有向グラフを使うことで、従来の方法よりもシーケンシャルな関係をよりよく捉えられるんだ。

  2. 統合学習:グラフの表現方法を学習するのと問題を検出するのを一つのステップにまとめて、効率的にするんだ。

  3. 明確な説明:異常を説明するためにグラフの重要なノードを特定できるから、後続の調査に役立つんだ。

関連研究

ログ分析の分野では、さまざまな方法がログデータの異なる側面に焦点を当てているんだ。従来のログ異常検出技術は、ログイベントの構造と意味の両方を効果的に捉えられないことが多いんだ。最近では、グラフ表現学習を利用して検出能力を向上させる方法も出てきているんだ。グラフニューラルネットワークは、グラフの構造から学ぶための強力なツールとして登場しているけど、ほとんどの既存のアプリケーションではこの力をログ分析に効果的に活用できていないんだ。

定義と概念

グラフ形式でログデータを分析する方法を理解するためには、いくつかの基本的な定義が必要だよ:

  • イベントログ:これはシステムの状態やイベントを記録したもので、通常はタイムスタンプやログメッセージを含むんだ。

  • グラフ:グラフは、ノード(ログイベントを表す)とエッジ(イベント間の関係を示す)から成り立っているんだ。

実践におけるイベントログ

ログは通常、集中化された形式で保存されていて、多くのログメッセージを含んでいるんだ。各メッセージにはタイムスタンプ、イベントのタイプ、追加の詳細(パラメータと呼ばれる)を持っているんだ。

メッセージをグループ化するためには、識別子や固定ウィンドウを使って、イベントカウントマトリックスを作成できるんだ。このマトリックスは、通常と見なされるものと異なるメッセージやグループを特定するのに役立つんだ。

グラフベースのログ異常検出

ロググループをグラフとして見ることで、異常を明らかにできると提案するよ。

問題の定義

グラフを使ったログ異常検出の目標は、大多数から大きく異なるものを見つけることなんだ。異常の主なタイプには次のようなものがあるよ:

  • 定量的異常:特定のイベントの頻度が予想外に高いまたは低い場合。

  • シーケンシャル異常:イベントが予想された順序に違反して発生する場合。

グラフ検出方法は、両方のタイプを捉えて、構造的な問題を明らかにできるんだ。

ログからのグラフの構築

ログをグラフに変換するプロセスにはいくつかのステップがあるよ:

  1. ノード:各イベントがユニークなノードを形成するんだ。

  2. エッジ:イベントの順序に基づいて、有向エッジが作られ、一つのイベントが他のイベントに続く頻度に基づいて重みが割り当てられるんだ。

  3. 属性:各ノードには、意味的な埋め込みのような追加データが強化されて、より深い意味を提供するんだ。

これにより、属性が付与された、有向で重み付きのグラフが作成され、正確に問題を特定するために重要なんだ。

意味的埋め込み

より意味のあるノード属性を作成するために、意味的埋め込みはログメッセージのテキストを考慮に入れているんだ。

  1. 前処理:非文字要素を取り除いて、核心となる単語にフォーカスするんだ。

  2. 単語埋め込み:各単語をベクトルとして表現できる事前学習モデルを利用するんだ。

  3. 文埋め込み:単語埋め込みの重み付き和を使って、ログイベントの中のさまざまな単語の重要性を捉えるんだ。

これらの手法を組み合わせることで、各ログイベントをその意味と全体のグラフにおける構造的役割の両方を捉えた形で表現できるんだ。

One-Class Digraph Inception Convolutional Networks(OCDiGCN)

OCDiGCNは、グラフ表現学習と異常検出を統合したモデルなんだ。

OCDiGCNの仕組み

  • ノード表現学習:グラフ構造を使って、ノードを効果的に表現することを学ぶんだ。

  • グラフ表現:モデルはノードの表現を集約して、単一のグラフ表現を作るんだ。

  • 異常検出:このモデルは、学習した空間における表現に基づいて異常を特定するための分類目的を適用するんだ。

異常の説明

検出された異常ごとに、モデルは検出に大きく寄与した重要なノードを特定するんだ。

  1. 重要性スコア:これは、各ノードが最終的な異常スコアにどれだけ寄与しているかを定量化するんだ。

  2. 視覚化:重要なノードを強調することで、問題のフォローアップに役立つ明確なガイダンスを提供するんだ。

実験

Logs2Graphsのパフォーマンスを様々なシナリオでテストしたよ。従来の方法や他の先進技術との比較も含めてね。

データセット

5つのベンチマークデータセットを使用したんだ。これらはこの分野ではよく知られていて、ログ異常検出方法を評価するのに十分な詳細を含んでいるんだ。

  1. HDFSログ:Hadoopクラスタから収集し、異常がラベル付けされているんだ。
  2. Hadoopログ:別のセットアップから生成され、こちらもラベル付けされているんだ。
  3. BGL, Spirit, Thunderbird:スーパーコンピュータシステムから収集され、手動でラベル付けされているんだ。

評価指標

性能を評価するために、主に2つの指標を使用したよ:

  • ROC AUC:真陽性率と偽陽性率の曲線の下の面積を測定するんだ。
  • 平均精度:異なる閾値におけるモデルの精度を要約した単一の値を提供するんだ。

これらの指標は、各方法が異常をどれだけうまく特定できるかを評価するのに役立つんだ。

結果と観察

精度比較

Logs2Graphsは素晴らしいパフォーマンスを発揮して、従来の方法や他の最先端技術をしばしば上回ったんだ。

  • 5つのデータセットのうち、3つでROC AUCで常にベストなパフォーマンスを発揮したんだ。
  • 複雑なデータセットに対して優れているんだ。

有向グラフ vs 無向グラフ

有向グラフを使うのと無向グラフを使うのとで効果を比較したんだけど、有向グラフは異常を検出するのに優れていることが分かったんだ。これは、イベントのシーケンスを捉える能力のためだと思うよ。

意味的属性の重要性

意味的埋め込みを単純な表現に置き換えたとき、Logs2Graphsのパフォーマンスが落ちちゃったから、ログイベントの意味を捉えることが異常検出にとって重要だって確認できたんだ。

ロバスト性テスト

一部のトレーニングデータが異常で汚染されているシナリオでLogs2Graphsがどれだけうまく対処できるかも見たんだけど、汚染が増えると精度が低下したんだ。清浄なトレーニングデータセットが必要だってことが強調されたよ。

結論

この研究では、ログをグラフベースのアプローチで異常を検出するための革新的で効果的な方法、Logs2Graphsを紹介したんだ。ログを有向で属性付きのグラフに変換し、独自のニューラルネットワークモデルを使用することで、検出精度を大幅に向上させ、異常に対する明確な説明を提供したんだ。

ベンチマークデータセットでの実験は、Logs2Graphsが既存の方法と競争力があり、しばしばそれを上回るパフォーマンスを示すことを実証したんだ。この研究は、ログ分析の理解を深めて、さまざまな重要なアプリケーションにおける高度な異常検出システムの開発の基盤を築くものなんだ。

今後の研究では、グラフ構築プロセスの改良や、汚染に対するロバスト性の向上、包括的なテストのための追加データセットの探索に取り組む予定なんだ。

オリジナルソース

タイトル: Graph Neural Networks based Log Anomaly Detection and Explanation

概要: Event logs are widely used to record the status of high-tech systems, making log anomaly detection important for monitoring those systems. Most existing log anomaly detection methods take a log event count matrix or log event sequences as input, exploiting quantitative and/or sequential relationships between log events to detect anomalies. Unfortunately, only considering quantitative or sequential relationships may result in low detection accuracy. To alleviate this problem, we propose a graph-based method for unsupervised log anomaly detection, dubbed Logs2Graphs, which first converts event logs into attributed, directed, and weighted graphs, and then leverages graph neural networks to perform graph-level anomaly detection. Specifically, we introduce One-Class Digraph Inception Convolutional Networks, abbreviated as OCDiGCN, a novel graph neural network model for detecting graph-level anomalies in a collection of attributed, directed, and weighted graphs. By coupling the graph representation and anomaly detection steps, OCDiGCN can learn a representation that is especially suited for anomaly detection, resulting in a high detection accuracy. Importantly, for each identified anomaly, we additionally provide a small subset of nodes that play a crucial role in OCDiGCN's prediction as explanations, which can offer valuable cues for subsequent root cause diagnosis. Experiments on five benchmark datasets show that Logs2Graphs performs at least on par with state-of-the-art log anomaly detection methods on simple datasets while largely outperforming state-of-the-art log anomaly detection methods on complicated datasets.

著者: Zhong Li, Jiayang Shi, Matthijs van Leeuwen

最終更新: 2024-01-24 00:00:00

言語: English

ソースURL: https://arxiv.org/abs/2307.00527

ソースPDF: https://arxiv.org/pdf/2307.00527

ライセンス: https://creativecommons.org/licenses/by-nc-sa/4.0/

変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。

オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。

著者たちからもっと読む

類似の記事