| name | o11y-check-keys |
| description | Langfuse の API キー整合性を診断する。「teardown 後からフックが動かない」「Langfuse にデータが届かない」「キーが合っているか確認したい」という状況で自動的に使うこと。 |
o11y-check-keys — Langfuse キー整合性確認
teardown → setup 後にフックが動かない典型的な原因(キーのずれ)を自動診断する。
手順
1. settings.json の現在のキーを取得
cat ~/.claude/settings.json | python3 -c "
import json, sys
s = json.load(sys.stdin)
env = s.get('env', {})
pk = env.get('LANGFUSE_PUBLIC_KEY', '(未設定)')
trace = env.get('TRACE_TO_LANGFUSE', '(未設定)')
base_url = env.get('LANGFUSE_BASE_URL', '(未設定)')
print(f'LANGFUSE_PUBLIC_KEY: {pk[:24]}...' if len(pk) > 24 else f'LANGFUSE_PUBLIC_KEY: {pk}')
print(f'TRACE_TO_LANGFUSE: {trace}')
print(f'LANGFUSE_BASE_URL: {base_url}')
"
2. フックログの最終接続キーを取得
grep -a "pk=" ~/.claude/state/langfuse_hook.log 2>/dev/null | tail -1
3. フックの最終成功時刻を確認
grep -a "Processed" ~/.claude/state/langfuse_hook.log 2>/dev/null | tail -3
4. .env の初期プロジェクトキーと比較(参考)
grep "LANGFUSE_INIT_PROJECT_PUBLIC_KEY" ~/Projects/agent-o11y/.env 2>/dev/null
判定ロジック
| 状態 | 判定 | 対処 |
|---|
| ログのキー = settings.json のキー | ✓ 一致(正常) | 問題なし |
| ログのキー ≠ settings.json のキー | ⚠ 不一致 | フックは新キーで動作中のはず。Langfuse UI で正しいプロジェクト(新キー対応)を参照しているか確認 |
| ログにキーが記録されていない | ℹ 記録なし | デバッグモード未使用または teardown 後に初めて動作している |
TRACE_TO_LANGFUSE が未設定 | ✗ フック無効 | ~/.claude/settings.json に "TRACE_TO_LANGFUSE": "true" を手動追加 |
| Processed ログが古い | ⚠ 長期未動作 | Langfuse スタックが停止中の可能性。/o11y-status で確認 |
出力フォーマット
## Langfuse キー整合性確認
### settings.json(現在の設定)
| 項目 | 値 |
|--------------------|-----------------------|
| LANGFUSE_PUBLIC_KEY | pk-lf-9907361c-f155-...|
| TRACE_TO_LANGFUSE | true |
| LANGFUSE_BASE_URL | http://localhost:3000 |
### フックログの記録
| 項目 | 値 |
|-------------------|-----------------------------|
| 最終接続キー | pk-lf-0e6130...(2026-04-11)|
| 最終成功 | 2026-04-12 08:29:25 |
### 判定
| キー一致 | ⚠ 不一致 |
| フック有効 | ✓(TRACE_TO_LANGFUSE=true)|
---
⚠ キー不一致: ログの旧キーと現在のキーが異なります。
フックは現在のキーで動作中ですが、Langfuse UI で新しいキーに対応するプロジェクトを参照しているか確認してください。
補足
- キー不一致は必ずしも問題ではない:
langfuse_hook.py は毎回 settings.json を直接読むため、キーが再生成されても自動的に新しいキーで接続する。ログに古いキーが残るのは過去の記録であり、現在の動作には影響しない
- Langfuse UI で確認すべき点: 新しいキー(
LANGFUSE_PUBLIC_KEY)に対応するプロジェクトを開いているか。teardown → setup でプロジェクトが再作成されている場合、古いプロジェクトのページを見ていると何も届いていないように見える
- それでも届かない場合:
/o11y-hook-debug で詳細なデバッグを実行する