Zenn Dev Ai CLI Otel Grafana
Claude CodeとCodex CLIのテレメトリーをGrafana Cloudで見る
- URL: https://zenn.dev/ymotongpoo/articles/20260616-ai-cli-otel-grafana
- 日付: 2026-06-16
- Tier: Tier 3
- 要旨: Claude CodeとCodex CLIのOTelテレメトリーをGrafana Alloy経由でGrafana Cloudに送り、コスト・トークン・TTFT・レイテンシーを可視化した実践報告。両CLIともdelta temporalityでメトリクスを送るためMimirに弾かれるという罠があり、Claude Codeは環境変数で、CodexはAlloyのプロセッサで変換対応している。
詳細
アーキテクチャはClaude Code+Codex→127.0.0.1:4318(OTLP)→Grafana Alloy→Grafana Cloud OTLP gateway。認証トークンをCLI設定に置かない設計のために中継Alloyを1段挟んでいる。
Claude CodeはsettingsのenvブロックでOTel環境変数を設定し、CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1でトレースも有効化。トレースはclaude_code.interaction→claude_code.llm_request→claude_code.toolのスパンツリー構造。Codexは~/.codex/config.tomlの[otel]セクションで設定するが、環境変数展開が機能しない(${VAR}が文字列のまま送信される)という実証済みのバグがある。
メトリクスのdelta→cumulative変換はClaude CodeはOTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=cumulativeで対応し、Codexは設定がないためAlloyのotelcol.processor.deltatocumulative(experimentalコンポーネント)で変換する。Grafana Cloud AI Observabilityはgen_ai.*規約前提のためclaude_code.*/codex.*は非表示となり、CLIごとの専用ダッシュボードをgcx CLIで作成して対応した。