# ログクラスタリング
## 定義
ログクラスタリング(log clustering)は、大量のログ系列(ログメッセージのシーケンス)を類似性に基づいてグループ化し、代表系列を抽出することで、エンジニアが確認すべきログの量を大幅に削減する技術。ログ解析パイプラインにおける「情報を絞ってから推論する」骨格の実装の一つで、下流の問題特定・根本原因分析の入力を圧縮する。
具体的には、[[ログパース]] で変換されたログイベントをベクトル化し、クラスタリングアルゴリズムを適用して類似系列を同一クラスタにまとめ、各クラスタから代表系列を抽出する。代表系列のみをエンジニアが確認することで、生のログ行数や差分系列数と比較して検討対象を 1〜3 桁削減できる([[@2016__ICSE-C__Log Clustering Based Problem Identification for Online Service Systems]])。
## 横断的知見
- **ログ系列のクラスタリングには「重み付け」が適合率向上の鍵である**: 単純なテキスト類似度ではなく、LogCluster ([[@2016__ICSE-C__Log Clustering Based Problem Identification for Online Service Systems]])は IDF(逆文書頻度)と対比重み付け(本番環境のみに現れるイベントを高重みとする)を組み合わせてベクトルを構成し、コサイン類似度でクラスタリングする。重み付けによって障害関連のイベントを浮き上がらせ、適合率を向上させる設計である。(Source: [[@2016__ICSE-C__Log Clustering Based Problem Identification for Online Service Systems]])
- **クラスタリングと知識ベースの組み合わせが再発障害に対して学習効果を生む**: LogCluster は生成されたクラスタの代表系列を知識ベースに蓄積し、新規クラスタを過去のクラスタと照合することで既知の再発障害を識別する。運用を続けるほど確認必要件数が減る「蓄積型の削減効果」を実現する。この「再発知識の再利用」パターンは、[[根本原因分析]] 分野の [[L4]] (fault library)・AlertGuardian (RAG 知識ベース)等と同型の設計思想を 2016 年時点で採用していた。(Source: [[@2016__ICSE-C__Log Clustering Based Problem Identification for Online Service Systems]])
- **階層クラスタリングが分散環境に適している**: LogCluster は K-Means・K-Medoids・DBSCAN・階層クラスタリングを比較した結果、分散コンピューティング環境への適合性から**凝集型階層クラスタリング(Agglomerative Hierarchical Clustering)**を選択した。距離閾値 θ に対して精度が頑強(θ = 0.2〜0.8 で安定)で、NMI が全システムで 80% 超を達成した。(Source: [[@2016__ICSE-C__Log Clustering Based Problem Identification for Online Service Systems]])
## 未解決の問い
- ログクラスタリングは「イベントの順序を無視する」設計(凝集型階層クラスタリング + コサイン類似度は順序不変)のため、順序に意味がある障害(デッドロック・タイムアウト連鎖等)を見逃す可能性がある。順序情報を保持しながらクラスタリングする手法はどこまで実用的か。
- 知識ベースが陳腐化する問題: ソフトウェア更新や環境変化でログのテンプレートやイベント構成が変わると、既存クラスタとの照合が失敗する。知識ベースのバージョン管理・鮮度管理はどうすべきか。(Source: [[@2016__ICSE-C__Log Clustering Based Problem Identification for Online Service Systems]])
- LLM 時代のログ解析パイプライン([[ログ解析]] §パイプライン)における「下流タスク」でのクラスタリングの位置づけ: [[LogPilot]] も request-centric なクラスタリングで LLM 呼び出しを 98.71% 削減しており、ログクラスタリングと request クラスタリングの設計上の類似点・差異はどこにあるか。
- 性能障害(パフォーマンス低下)は LogCluster のような非順序クラスタリングでは検知できない。メトリクス異常検知や分散トレーシングとの組み合わせによって補完できるか。
## 関連
- ソース: [[@2016__ICSE-C__Log Clustering Based Problem Identification for Online Service Systems]]
- 概念: [[ログ解析]] / [[ログパース]] / [[根本原因分析]] / [[AIOps]] / [[密度ベースクラスタリング]] / [[時系列クラスタリング]] / [[異常検知]]
- エンティティ: [[Qingwei Lin]] / [[Hongyu Zhang]] / [[Jian-Guang Lou]] / [[Microsoft Research]]
- 関連 MOC: [[AIOps - Log Analysis - MOC]]
## 出典
- [[@2016__ICSE-C__Log Clustering Based Problem Identification for Online Service Systems]](§3 提案手法の全体像、§3.2 Log Vectorization(IDF/対比重み)、§3.3 Log Clustering(凝集型階層クラスタリング)、§3.4 代表系列抽出、§3.5 再発確認、§4.3 RQ3 θ 感度実験・Table 4 NMI 評価)