claude-code-opentelemetry-setup は何をしますか?
🚀 OpenTelemetry、Prometheus、Loki、Grafana を使用して Claude Code の使用状況を監視し、コスト、トークン使用量、パフォーマンスメトリクスをリアルタイムで可視化します。
概要
このスキルは、Claude Code のテレメトリデータを収集し、可視化するための統合監視スタックを提供します。以下のコンポーネントで構成されています:
- OpenTelemetry Collector - Claude Code からのトレースとメトリクスを収集
- Prometheus - メトリクスデータの時系列ストレージ
- Loki - ログデータの集約とクエリ
- Grafana - ダッシュボードによる可視化
前提条件
- Docker および Docker Compose がインストールされていること
- Claude Code がセットアップ済みであること
セットアップ手順
- リポジトリをクローンします:
git clone https://github.com/flysloughofdespond447/claude-code-opentelemetry-setup.git
cd claude-code-opentelemetry-setup
- Docker Compose でスタックを起動します:
docker-compose up -d
- Claude Code の設定ファイル(
~/.claude/settings.json)に以下を追加します:
{
"openTelemetry": {
"endpoint": "http://localhost:4318",
"serviceName": "claude-code"
}
}
- Grafana ダッシュボードにアクセスします:
- URL:
http://localhost:3000 - デフォルトユーザー:
admin - デフォルトパスワード:
admin
- URL:
ダッシュボード
Grafana には以下のダッシュボードがプリインストールされています:
- Claude Code メトリクス - リクエスト数、レイテンシ、エラー率
- トークン使用量 - プロンプトトークン、生成トークン、合計コスト
- セッション分析 - アクティブセッション数、セッション期間
環境変数
| 変数名 | 説明 | デフォルト値 |
|---|---|---|
OTEL_COLLECTOR_ENDPOINT | OpenTelemetry コレクターのエンドポイント | http://localhost:4318 |
PROMETHEUS_PORT | Prometheus のポート | 9090 |
LOKI_PORT | Loki のポート | 3100 |
GRAFANA_PORT | Grafana のポート | 3000 |
トラブルシューティング
- 各サービスのログを確認するには:
docker-compose logs -f [service-name] - メトリクスが Prometheus で利用可能か確認するには:
http://localhost:9090/targets - ログが Loki に届いているか確認するには:Grafana 探索画面で
{job="loki"}をクエリ
ライセンス
MIT