# ログベースイベント相関
大量の syslog/ログストリームからパターンマッチと時間窓による集計を用いてイベントを検知し、フラッド(重複通知の氾濫)を抑制しながら自動アクション(通知・修復ジョブ)へつなげる、ルールベースの運用自動化の一分野を指す。統計的・機械学習的な異常検知(→ [[異常検知]])とは異なり、宣言的なパターン/閾値ルールと時間窓による集計をシステム管理者が明示的に記述する設計を特徴とする。
## 未解決の問い
- ルールベースの時間窓集計(VTEC の temporal variable、Swatch の時間間隔抑制)と、統計的・LLM ベースの異常検知は、実運用でどのように併用・使い分けされているか。
- VTEC の incrementer 集計の O(n) ボトルネックのような、時間窓集計データ構造のスケーラビリティ制約は、後続のログ相関システムでどう解決されたか。
- SEC(Simple Event Correlator)自体を扱う一次ソースが wiki に未取り込みであり、VTEC・Swatch との定量的な比較(ルール記述の学習曲線、性能)は VTEC 論文の記述にしか依拠できていない。SEC の一次ソースを取り込めば直接比較が可能になる。
## 未編纂の観察
- **時間窓による重複通知抑制は、宣言的なログ相関ツールの設計に共通して現れる基本機構である。** Swatch(1993)は「パターン・アクション・時間間隔・タイムスタンプ位置」の4フィールド設定で、同一イベントの再通知を時間間隔内で間引く。VTEC(2010)は temporal variable server の scalar 型でタイムアウト付きフラグを持たせ、同じ目的(例: `ftp_disk_full` の再送信抑止)を専用データ型として一般化している。17年の間隔を挟んで独立に同じ設計モチーフへ収束している。(Source: [[@1993__LISA__Automated System Monitoring and Notification With Swatch]], [[@2010__LISA__Log Analysis and Event Correlation Using Variable Temporal Event Correlator (VTEC)]])
- **単一プロセスの逐次処理から、モジュールをプロセス/TCP境界で分離した並行処理へという進化がみられる。** Swatch は Perl の単一ウォッチャープロセスとして動作し、設定ファイルを Perl スクリプトへトランスレートして fork/exec する設計だった。VTEC はこれをさらに進め、streamer・syslog-ng・rule engine 群・temporal variable server・action server という5モジュールをそれぞれ独立プロセスとして TCP で疎結合にし、マルチコア活用と障害分離(あるコンポーネントの過負荷が他へ波及しない)を実現した。VTEC 論文はこの設計変更の直接的な動機として、Swatch が単一スレッドで AMD の増大するログ量(10GB/日)にスケールできなかったことを挙げている。(Source: [[@1993__LISA__Automated System Monitoring and Notification With Swatch]], [[@2010__LISA__Log Analysis and Event Correlation Using Variable Temporal Event Correlator (VTEC)]])
- **ルール記述言語の平易さは、高機能なツールほどトレードオフになりうる。** VTEC 論文は、SEC が強力で柔軟である一方、ルール記述の学習曲線が急峻で、SEC を平易に解説することを目的とした先行論文(Rouillard, LISA XVIII 2004)をもってしても中程度に複雑な SEC ルールが非熟練者に理解不能だったと報告し、この点を Perl ベースの読みやすいルールエンジンという VTEC の設計選択の直接的な動機としている。Swatch も同様に「数分で使い方を習得できる設定方式」を4つの設計目標の筆頭に掲げており、両システムともログ相関ツールの実用性を機能の豊富さより学習容易性で測る立場を取る。(Source: [[@2010__LISA__Log Analysis and Event Correlation Using Variable Temporal Event Correlator (VTEC)]])
- **複数ホスト横断の相関は、単一ホストでは見逃されるパターンを可視化する共通の効用として報告される。** Swatch は複数サーバのログを中央ログホストへ集約することで、単独ホストでは見逃される攻撃パターン(複数ホストへの連続不正ログイン)を発見できたと報告する。VTEC は同じ効用を、list データ型(ホスト名等をキーとする incrementer の集合)による集約クエリとして一般化し、例えば特定のファイルサーバへ「応答なし」を報告するホスト数が閾値を超えたことを検知する形で実現している。(Source: [[@1993__LISA__Automated System Monitoring and Notification With Swatch]], [[@2010__LISA__Log Analysis and Event Correlation Using Variable Temporal Event Correlator (VTEC)]])
- **宣言的パターンルールによるログ相関(Swatch/VTEC)とは独立に、符号理論(coding theory)に基づくアラーム相関の系譜が1990年代半ばに存在した。** Kliger・Yemini ら(SMARTS)は、観測可能な症状イベントを問題を識別する「符号」とみなし相関を復号問題として定式化する[[コードブックによるイベント相関]]を提案し、商用システムSEMSとして実装した。Swatch/VTECが宣言的なパターン・アクション・時間窓ルールをシステム管理者が明示的に記述する設計であるのに対し、コードブックアプローチは因果尤度モデル(半環)からアラームの区別能力(コードブック半径)を数理的に導出し、監視対象の症状集合そのものを最適化する点で設計思想が異なる。両系譜がその後どのように収束・分岐したかは未調査である。(Source: [[@1995__IM__A Coding Approach to Event Correlation]], [[@1993__LISA__Automated System Monitoring and Notification With Swatch]], [[@2010__LISA__Log Analysis and Event Correlation Using Variable Temporal Event Correlator (VTEC)]])
## 関連
- ソース: [[@2010__LISA__Log Analysis and Event Correlation Using Variable Temporal Event Correlator (VTEC)]] / [[@1993__LISA__Automated System Monitoring and Notification With Swatch]] / [[@1995__IM__A Coding Approach to Event Correlation]]
- 概念: [[異常検知]](統計的・LLM ベースの検知アプローチとの対比) / [[コードブックによるイベント相関]]
## 出典
-