操作
バグ #372
未完了claude-search ログ機能実装とモニタリング
ステータス:
新規
優先度:
通常
担当者:
-
開始日:
2025-06-08
期日:
進捗率:
0%
予定工数:
説明
概要¶
claude-searchサービスのログ機能実装とモニタリング強化
親チケット¶
現状の問題¶
- ログはコンソール出力のみ
- ファイルへの保存未実装
- ログローテーションなし
- エラー追跡が困難
実装内容¶
1. アプリケーションログ設定¶
1.1 ログファイル出力¶
- ファイルパス: /root/claude-search-system/logs/app.log
- フォーマット: JSON形式
- ログレベル: DEBUG/INFO/WARNING/ERROR/CRITICAL
1.2 ログローテーション¶
- 日次ローテーション
- 最大30日保存
- 圧縮保存(.gz)
1.3 構造化ログ¶
logger.info("search_performed", {
"query": query,
"results_count": len(results),
"query_time_ms": query_time,
"user_ip": request.client.host
})
2. アクセスログ¶
2.1 Nginxアクセスログ¶
- 現在: /var/log/nginx/access.log
- 追加: claude-search専用ログ
- フォーマット: Combined + レスポンスタイム
2.2 APIアクセスログ¶
- リクエスト/レスポンス記録
- パフォーマンスメトリクス
- エラー率追跡
3. エラーログ¶
- 例外スタックトレース
- エラーコンテキスト
- ユーザー影響度
4. モニタリング設定¶
4.1 ヘルスチェック拡張¶
- CPU/メモリ使用率
- DB接続プール状態
- ディスク使用量
4.2 メトリクス収集¶
- 検索クエリ数/分
- 平均レスポンスタイム
- エラー率
- 同時接続数
5. ログ分析ツール¶
- ログ検索スクリプト
- エラー集計レポート
- パフォーマンス分析
技術実装¶
- Python logging + logging.handlers
- structlog for 構造化ログ
- logrotate設定
- Prometheusメトリクス(オプション)
ファイル構成¶
/root/claude-search-system/logs/
├── app.log # アプリケーションログ
├── error.log # エラー専用
├── access.log # APIアクセス
├── performance.log # パフォーマンス
└── archive/ # ローテート済み
成功基準¶
- すべてのエラーがファイルに記録
- 30日分のログ保存
- ログから問題調査可能
- パフォーマンス分析可能
Redmine Admin さんが13日前に更新
操作