Informationen zur Claude API oder zu Managed Agents finden Sie unter OpenTelemetry für die Claude API.
Schnellstart
Konfigurieren Sie OpenTelemetry mit Umgebungsvariablen:claude_code.session.count, die Claude Code beim Start einer Sitzung ausgibt. Um eine reine Logs-Einrichtung zu überprüfen, senden Sie eine Eingabeaufforderung und suchen Sie nach dem Ereignis claude_code.user_prompt.
Wenn nichts ankommt, führen Sie Claude Code mit claude --debug-file <path> aus und überprüfen Sie das Protokoll, das es in diesen Pfad schreibt. Claude Code meldet Fehler von den konfigurierten Exportern als [3P telemetry]-Fehler, wobei 3P für Drittanbieter steht. Zeilen mit dem Präfix [Anthropic telemetry] beschreiben Anthropics separate operative Telemetrie und deuten nicht auf ein Problem mit Ihrer Einrichtung hin.
Für vollständige Konfigurationsoptionen siehe die OpenTelemetry-Spezifikation.
Administratorkonfiguration
Administratoren können OpenTelemetry-Einstellungen für alle Benutzer über die verwaltete Einstellungsdatei konfigurieren. Weitere Informationen zur Anwendung von Einstellungen finden Sie unter Einstellungspriorität. Beispiel für verwaltete Einstellungskonfiguration:.claude/settings.json und .claude/settings.local.json eines Repositorys, daher kann ein Repository diese nicht verwenden, um Telemetrie einzuschalten, zu wählen, wohin sie geht, oder Inhalte zu erfassen. Setzen Sie sie in verwalteten Einstellungen, oder lassen Sie jeden Entwickler sie in seiner Shell oder ~/.claude/settings.json setzen. Ein Repository kann ein Signal immer noch ausschalten, indem es seinen Exporter-Selektor, wie OTEL_LOGS_EXPORTER, auf none setzt, es sei denn, verwaltete Einstellungen, eine --settings-Datei oder die Umgebung, aus der Sie Claude Code starten, setzen diese Variable.
Claude Code übergibt OTEL_* Umgebungsvariablen nicht an die Subprozesse, die es erzeugt, einschließlich des Bash-Tools, Hooks, MCP-Server und Sprachserver. Eine OpenTelemetry-instrumentierte Anwendung, die Sie über das Bash-Tool ausführen, erbt nicht den Exporter-Endpunkt oder die Header von Claude Code, daher setzen Sie diese Variablen direkt im Befehl, wenn diese Anwendung ihre eigene Telemetrie exportieren muss.
Wie verwaltete Einstellungen das OTLP-Ziel sperren
Wenn Sie eineOTEL_EXPORTER_OTLP_* Variable in verwalteten Einstellungen setzen, entfernt Claude Code bei der Initialisierung konfligierende von Entwicklern gesetzte Variablen und protokolliert eine Warnung im Debug-Protokoll. Was entfernt wird, hängt davon ab, welche Variable Sie setzen:
-
Endpunkte: Wenn Sie
OTEL_EXPORTER_OTLP_ENDPOINTsetzen, entfernt Claude Code jeden von Entwicklern gesetzten signalspezifischen Endpunkt. Entwickler können ein Signal nicht auf einen anderen Collector verweisen, daher müssen Sie die signalspezifischen Endpunkt-Variablen nicht auch in verwalteten Einstellungen setzen. -
Protokolle: Wenn Sie
OTEL_EXPORTER_OTLP_PROTOCOLsetzen, entfernt Claude Code jeden von Entwicklern gesetzten signalspezifischen Protokoll. -
Anmeldedaten: Wenn Sie
OTEL_EXPORTER_OTLP_HEADERS,OTEL_EXPORTER_OTLP_CLIENT_KEYoderOTEL_EXPORTER_OTLP_CLIENT_CERTIFICATEsetzen, entfernt Claude Code die von Entwicklern gesetzten signalspezifischen Versionen dieser Variable sowie jede von Entwicklern gesetzte Endpunkt-Variable, generisch oder signalspezifisch, da diese Anmeldedaten sonst einen Collector erreichen würden, den die verwalteten Einstellungen nicht ausgewählt haben. -
Exporter-Selektoren:
OTEL_METRICS_EXPORTER,OTEL_LOGS_EXPORTERund der Beta-OTEL_TRACES_EXPORTERfolgen der normalen Pro-Schlüssel-Priorität. Eine Einstellung eines Entwicklers kann ein Signal immer noch deaktivieren oder auf den Console-Exporter umschalten, daher setzen Sie die Selektoren auch in verwalteten Einstellungen, wenn Sie sie sperren müssen. Über Admin-Quellen folgtOTEL_LOGS_EXPORTERder Telemetrie-Einheit, während die anderen beiden Selektoren pro Schlüssel zusammengeführt werden. Erfordert Claude Code v2.1.223 oder später. -
Beta-Tracing-Endpunkte: Mit detailliertem Beta-Tracing aktiv exportiert Claude Code Logs und Traces zu
BETA_TRACING_ENDPOINTstatt über die Logs- und Traces-Exporter. Claude Code entfernt daher einen von Entwicklern gesetztenBETA_TRACING_ENDPOINT, wenn eine dieser verwalteten Einstellungen das Ziel eines Signals entscheidet:- Ein generischer oder Logs/Traces-Endpunkt oder Anmeldedaten
- Ein
otelHeadersHelper - Ein Logs- oder Traces-Exporter-Selektor auf
none,consoleoder leer gesetzt, Werte, die das Signal von einem Collector fernhalten CLAUDE_CODE_ENABLE_TELEMETRYausgeschaltet
BETA_TRACING_ENDPOINTdie Logs und Traces um, die detailliertes Beta-Tracing exportiert, selbst wenn verwaltete Einstellungen den Collector festlegten.
Konfigurationsdetails
Allgemeine Konfigurationsvariablen
Diese Variablen konfigurieren Exporter, Endpunkte und Exportverhalten für alle Bereitstellungen. Wenn Sie eine signalspezifische Endpunkt- oder Protokollvariable wieOTEL_EXPORTER_OTLP_METRICS_ENDPOINT setzen, verwendet Claude Code diese statt der generischen Variable für dieses Signal. Wenn Sie eine signalspezifische Header-Variable wie OTEL_EXPORTER_OTLP_METRICS_HEADERS setzen, führt Claude Code diese mit dem generischen OTEL_EXPORTER_OTLP_HEADERS für dieses Signal zusammen.
Auf Maschinen mit verwalteten Einstellungen siehe Wie verwaltete Einstellungen das OTLP-Ziel sperren, um zu erfahren, was Claude Code entfernt.