## Memo
## Memo with LLM
### 論文情報
- **論文のタイトル**: LO2: Microservice API Anomaly Dataset of Logs and Metrics
- **著者と所属**:
- Alexander Bakhtin (University of Oulu, Finland)
- Jesse Nyyssölä (University of Oulu, Finland)
- Yuqing Wang (University of Helsinki, Finland)
- Noman Ahmad (University of Oulu, Finland)
- Ke Ping (University of Oulu, Finland)
- Matteo Esposito (University of Oulu, Finland)
- Mika Mäntylä (University of Oulu, Finland)
- Davide Taibi (University of Oulu, Finland)
- **カンファレンス/ジャーナル名**: 21st International Conference on Predictive Models and Data Analytics in Software Engineering (PROMISE'25)
- **発表年**: 2025
### 論文概要
本論文は、マイクロサービスシステムにおける異常検出と根本原因解析の研究を支援するために、包括的なログ、メトリクス、トレースデータセットであるLO2を提供している。Light-OAuth2という商業利用可能なオープンソースマイクロサービスシステムから収集された約65.7万個のログファイル(20億行以上のログライン)と4,500万個のメトリクスファイル(485種類の固有メトリクス)を含む大規模データセットである。
### 詳細解説
#### 問題設定
**入力**: マイクロサービスシステムのAPIコール(正常および異常)
**出力**: システムの動作を表すログ、メトリクス、トレースデータ
**必要なデータ**: OAuth2.0プロトコルを実装したマイクロサービスシステム(Light-OAuth2)、Locustを用いた動的テストスイート、Docker環境での実行ログ、Prometheusによるシステムメトリクス、Jaegerによるトレーシングデータ
#### 提案手法
著者らは以下の手法でデータセットを構築した:
1. **テストシステムの準備**: Light-OAuth2マイクロサービスシステムを本番環境に準じた設定でDeployment
2. **動的テストの実行**: Locustツールを用いてOAuth2.0フローの各種シナリオを実装
- Authorization Code フロー
- Client Credentials フロー
- Refresh Token フロー
- CRUD操作(クライアント、ユーザー、サービス管理)
3. **データ収集パイプライン**:
- **ログ**: `docker logs` コマンドによる各マイクロサービスのコンテナログ収集
- **メトリクス**: Prometheusのnode exporterによる5秒間隔でのシステムメトリクス収集
- **トレース**: Jaeger-agentによる分散トレーシング(ただし制限あり)
4. **ラベリング**: 各APIコールを正常・異常で分類し、発生したエラーのタイプでラベリング
#### 新規性
先行研究との主な違い:
- **商業利用可能性**: 既存のデータセット([[TrainTicket]]、[[Online Boutique]]等)と異なり、実際の商業システムLight-OAuth2を使用
- **本番環境指向**: ベンチマーク用システムではなく、実際に使用される可能性のあるシステムからのデータ
- **マルチモーダルデータ**: 単一モダリティ(Lee et al., 2023b)やバイモーダル(Zhang et al., 2022)データセットに対し、ログ・メトリクス・トレースの3つのモダリティを提供
- **大規模性**: 20億行のログラインと485種類のメトリクスという規模
- **オープンデータ**: プロプライエタリなデータセット(Li et al., 2022; Tsinghua University, 2021)と異なり、CC BY 4.0ライセンスで公開
#### 実験設定
**使用データセット**: Light-OAuth2マイクロサービスシステム(7つのサービスで構成)
**評価指標**:
- ログ異常検知の評価にはF1スコアを使用
- 主成分分析(PCA)によるメトリクス重要度評価
**実験環境**: Docker環境、1時間毎のcronジョブによる自動実行(1740回実行)
#### 実験結果
**ログ解析結果**:
- LogLeadツールを用いた予備解析でDecisionTreeモデルがF1スコア0.7以上を達成
- ClientサービスとTokenサービスのログが異常検知に最も有効
- Keyサービスのログは性能が最低
- 53×7の結果マトリックス(53のエラーケース×7のサービス)を提供
**メトリクス解析結果**:
- [[主成分分析|PCA]]により最も重要なホストメトリクスを特定
- 多くのメトリクスがメモリ使用量に関連
- 485種類の固有メトリクスを収集
**トレース解析の課題**:
Light-OAuth2システムが詳細なトレーサビリティ用に設計されていないため、多くのトレースがMySQLデータベースへの直接呼び出しのみを捕捉している状況が判明。
論文では、マルチモーダル融合手法の開発、異常検知アルゴリズムの改良、より細粒度のデータセット構築等の将来的な発展方向も提示している。
## Abstract
背景。マイクロサービスベースシステムは近年大きな注目を集めている。これらのシステムの動作を理解・分析する重要な要因は、ログ、メトリクス、トレースなどの監視データの収集である。これらのデータモダリティは、障害の異常検知と根本原因解析に使用できる。特に、複数種類のデータを同時に活用するマルチモーダル手法は、これら3つのモダリティがシステム動作の異なる次元を捕捉するため、研究コミュニティで注目を集めている。
目的。本研究では、マイクロサービスシステムにおける異常検知とアーキテクチャ劣化の研究を支援するデータセットを提供する。複数のデータモダリティを統合するマルチモーダル融合手法の探索を可能にするため、本番マイクロサービスシステムからログ、メトリクス、トレースの包括的なデータセットを生成する。
手法。[[OAuth2.0]]プロトコルを実装し、[[Locust]]ツールを使用してマイクロサービスベースシステムの各種APIを動的にテストした。準備されたテストスイートの各実行において、正常および異常な呼び出しのログと性能メトリクスを収集し、呼び出し中に発生したエラーに応じてデータをラベリングした。
貢献。約65万7千個の個別ログファイル(合計20億行以上のログライン)を収集した。さらに、485種類の固有メトリクスを含む4,500万個以上の個別メトリクスファイルを収集した。ログの初期解析を提供し、主成分分析によって主要メトリクスを特定し、このシステムでのトレース収集における課題について議論する。さらに、データセットのより細粒度のバージョンを作成する可能性を強調している。本研究は、複数のデータソースを使用したマイクロサービスシステムの異常検知を発展させるものである。