Log Analyzer Skill
アプリケーションログを分析し、問題を特定するスキルです。
概要
大量のログファイルからエラー、警告、パターンを検出し、根本原因を分析します。
主な機能
-
エラー検出: 例外、スタックトレース、エラーメッセージ
-
パターン認識: 繰り返し発生する問題
-
時系列分析: エラーの発生傾向
-
根本原因分析: ログから問題の原因を推定
-
統計情報: エラー率、レスポンスタイム等
-
アラート生成: 異常検知と通知
-
ログレベル分類: ERROR、WARN、INFO、DEBUG
使用方法
以下のログを分析:
[ログファイルの内容]
分析項目:
- エラーの種類と頻度
- 根本原因の推定
- 解決策の提案
分析例
エラーログ分析
入力ログ:
2024-06-15 10:23:45 ERROR [database] Connection timeout after 30s 2024-06-15 10:23:50 ERROR [database] Connection timeout after 30s 2024-06-15 10:24:12 ERROR [database] Connection timeout after 30s 2024-06-15 10:25:33 ERROR [api] Failed to fetch user data: Database unavailable 2024-06-15 10:25:34 ERROR [api] Failed to fetch user data: Database unavailable
分析結果:
ログ分析レポート
サマリー
- 分析期間: 2024-06-15 10:23:45 - 10:25:34 (2分間)
- 総ログ数: 450行
- エラー数: 5件
- 警告数: 12件
検出された問題
[CRITICAL] データベース接続タイムアウト
頻度: 3回(10:23:45 - 10:24:12) 影響: API リクエスト失敗(2件)
ログパターン:
ERROR [database] Connection timeout after 30s
根本原因(推定):
- データベースサーバーの過負荷
- ネットワーク接続の問題
- コネクションプールの枯渇
推奨アクション:
- データベースのCPU/メモリ使用率を確認
- スロークエリログをチェック
- コネクションプールサイズを確認
- ネットワーク遅延を計測
[HIGH] API エラー連鎖
頻度: 2回(DB タイムアウト後に発生) 原因: データベース障害の波及
時系列分析
10:23 ├─ DB接続タイムアウト開始 10:24 ├─ DB接続タイムアウト継続 10:25 ├─ API エラー発生(DB不可) └─ ユーザーリクエスト失敗
統計情報
| メトリクス | 値 |
|---|---|
| エラー率 | 1.1% (5/450) |
| 平均レスポンス | 245ms |
| 最大レスポンス | 30,012ms (timeout) |
| 成功率 | 98.9% |
推奨対応
即時対応
- データベース接続状況の確認
- アプリケーション再起動(接続プールリセット)
- データベースのパフォーマンス確認
短期対応
- コネクションプールサイズの最適化
- タイムアウト値の見直し
- リトライロジックの実装
長期対応
- データベースのスケーリング
- 読み取りレプリカの追加
- キャッシュ層の導入
サポートログ形式
-
一般形式: syslog, Apache, Nginx
-
アプリケーション: Log4j, Winston, Python logging
-
クラウド: CloudWatch, Stackdriver
-
JSON: 構造化ログ
ベストプラクティス
-
構造化ログ: JSON形式で統一
-
適切なレベル: ERROR、WARN、INFO を使い分け
-
コンテキスト: リクエストID、ユーザーIDを含める
-
集約: ログ集約ツール(ELK、Splunk)使用
バージョン情報
-
スキルバージョン: 1.0.0
-
最終更新: 2025-01-22