全社員のClaude Code・Coworkの利用状況をOpenTelemetryとGrafanaで可視化した話¶
チェック¶
- [ ] 本文を確認した
- [ ] 概要を確認した
- [ ] タグを確認した
- [ ]
inbox/直下へ移行した
概要¶
全社員のClaude Code/Cowork利用状況を、OpenTelemetryとGrafana/Lokiで可視化した事例。
Claude Team、Claude Max、Coworkなど契約や管理範囲が混在する中で、Admin設定とMDM配布を組み合わせて全員をカバーしている。
managed-settings.json にOTel設定を入れて配布する具体例が実装上のポイント。
本文¶
課題は、社内のAIツール契約がバラバラなこと。Claude Teamプランが複数組織に分散し、個人契約のClaude Maxユーザーもいる。Admin設定が届く範囲はプランごとに異なるため、1つの配布手段で全員をカバーできない。
Claude Codeには設定スコープが複数ある。
- Managed: 端末全体に効く組織配布設定
- User:
~/.claude/settings.json - Project:
.claude/settings.json - Local:
.claude/settings.local.json
組織配布で重要なのが managed-settings.json。ユーザー設定やプロジェクト設定では上書きできないため、全社に必ず効かせたい設定に向く。macOSでは /Library/Application Support/ClaudeCode/managed-settings.json、Linux/WSLでは /etc/claude-code/managed-settings.json に置く。
OpenTelemetry設定の配布例。
{
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1",
"OTEL_METRICS_EXPORTER": "otlp",
"OTEL_LOGS_EXPORTER": "otlp",
"OTEL_LOG_USER_PROMPTS": "1",
"OTEL_EXPORTER_OTLP_PROTOCOL": "http/protobuf",
"OTEL_EXPORTER_OTLP_ENDPOINT": "https://....",
"OTEL_EXPORTER_OTLP_HEADERS": "Authorization=Basic ....."
}
}
このファイルをJamfなどのMDMで配布すれば、ユーザーが何もしなくてもOTelデータが送信される。
展開は管理経路ごとに分ける。CoworkはClaude TeamのAdmin設定でOpenTelemetryを有効化し、Claude Code/MaxユーザーはMDMで managed-settings.json を全PCへ配布する。これにより、Claude TeamのAdmin設定が届かない層もカバーできる。
資料時点ではCoworkのOpenTelemetry対応が強化され、ツールやコネクタ呼び出し、読み取られたファイル、変更されたファイル、使用されたSkill、手動承認/自動承認などのイベントも取得できるようになっている。
要点¶
- Claude利用状況の可視化は、契約・管理経路の違いを吸収する必要がある。
- Claude Codeは
managed-settings.jsonをMDM配布すると、ユーザー操作なしでOTelを有効化できる。 - CoworkはAdmin設定、Claude Code/MaxはMDM配布、という組み合わせで全員をカバーする。
- OTel + Grafana/Lokiにより、利用状況やSkill利用、ツールイベントを観測できる。