Nutzungsüberwachung
Überwachen Sie die Claude Code-Nutzung mit OpenTelemetry-Metriken
Die OpenTelemetry-Unterstützung befindet sich derzeit in der Beta-Phase und Details können sich ändern.
OpenTelemetry in Claude Code
Claude Code unterstützt OpenTelemetry (OTel)-Metriken für Monitoring und Beobachtbarkeit. Dieses Dokument erklärt, wie Sie OTel für Claude Code aktivieren und konfigurieren können.
Alle Metriken sind Zeitreihendaten, die über das standardmäßige Metrik-Protokoll von OpenTelemetry exportiert werden. Es liegt in der Verantwortung des Benutzers, sicherzustellen, dass sein Metrik-Backend ordnungsgemäß konfiguriert ist und dass die Aggregationsgranularität seinen Überwachungsanforderungen entspricht.
Schnellstart
Konfigurieren Sie OpenTelemetry mit Umgebungsvariablen:
Das Standard-Exportintervall beträgt 10 Minuten. Während der Einrichtung möchten Sie möglicherweise ein kürzeres Intervall für Debugging-Zwecke verwenden. Denken Sie daran, dies für den Produktionseinsatz zurückzusetzen.
Für vollständige Konfigurationsoptionen, siehe die OpenTelemetry-Spezifikation.
Administrator-Konfiguration
Administratoren können OpenTelemetry-Einstellungen für alle Benutzer über die verwaltete Einstellungsdatei konfigurieren. Dies ermöglicht eine zentralisierte Kontrolle der Telemetrie-Einstellungen in einer Organisation. Siehe die Konfigurationshierarchie für weitere Informationen darüber, wie Einstellungen angewendet werden.
Die verwaltete Einstellungsdatei befindet sich unter:
- macOS:
/Library/Application Support/ClaudeCode/managed-settings.json
- Linux:
/etc/claude-code/managed-settings.json
Beispiel für eine verwaltete Einstellungskonfiguration:
Verwaltete Einstellungen können über MDM (Mobile Device Management) oder andere Geräteverwaltungslösungen verteilt werden. Umgebungsvariablen, die in der verwalteten Einstellungsdatei definiert sind, haben hohe Priorität und können von Benutzern nicht überschrieben werden.
Konfigurationsdetails
Häufige Konfigurationsvariablen
Umgebungsvariable | Beschreibung | Beispielwerte |
---|---|---|
CLAUDE_CODE_ENABLE_TELEMETRY | Aktiviert die Telemetrieerfassung (erforderlich) | 1 |
OTEL_METRICS_EXPORTER | Zu verwendende(r) Exportertyp(en) (durch Kommas getrennt) | console , otlp , prometheus |
OTEL_EXPORTER_OTLP_PROTOCOL | Protokoll für OTLP-Exporter | grpc , http/json , http/protobuf |
OTEL_EXPORTER_OTLP_ENDPOINT | OTLP-Collector-Endpunkt | http://localhost:4317 |
OTEL_EXPORTER_OTLP_HEADERS | Authentifizierungs-Header für OTLP | Authorization=Bearer token |
OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY | Client-Schlüssel für mTLS-Authentifizierung | Pfad zur Client-Schlüsseldatei |
OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE | Client-Zertifikat für mTLS-Authentifizierung | Pfad zur Client-Zertifikatsdatei |
OTEL_METRIC_EXPORT_INTERVAL | Exportintervall in Millisekunden (Standard: 10000) | 5000 , 60000 |
Kontrolle der Metrik-Kardinalität
Die folgenden Umgebungsvariablen steuern, welche Attribute in Metriken enthalten sind, um die Kardinalität zu verwalten:
Umgebungsvariable | Beschreibung | Standardwert | Beispiel zum Deaktivieren |
---|---|---|---|
OTEL_METRICS_INCLUDE_SESSION_ID | session.id-Attribut in Metriken einschließen | true | false |
OTEL_METRICS_INCLUDE_VERSION | app.version-Attribut in Metriken einschließen | false | true |
OTEL_METRICS_INCLUDE_ACCOUNT_UUID | user.account_uuid-Attribut in Metriken einschließen | true | false |
Diese Variablen helfen, die Kardinalität von Metriken zu kontrollieren, was sich auf Speicheranforderungen und Abfrageleistung in Ihrem Metrik-Backend auswirkt. Niedrigere Kardinalität bedeutet im Allgemeinen bessere Leistung und niedrigere Speicherkosten, aber weniger granulare Daten für die Analyse.
Beispielkonfigurationen
Verfügbare Metriken
Claude Code exportiert die folgenden Metriken:
Metrikname | Beschreibung | Einheit |
---|---|---|
claude_code.session.count | Anzahl der gestarteten CLI-Sitzungen | Anzahl |
claude_code.lines_of_code.count | Anzahl der geänderten Codezeilen | Anzahl |
claude_code.pull_request.count | Anzahl der erstellten Pull Requests | Anzahl |
claude_code.commit.count | Anzahl der erstellten Git-Commits | Anzahl |
claude_code.cost.usage | Kosten der Claude Code-Sitzung | USD |
claude_code.token.usage | Anzahl der verwendeten Token | Token |
Metrikdetails
Alle Metriken teilen diese Standardattribute:
session.id
: Eindeutige Sitzungskennung (gesteuert durchOTEL_METRICS_INCLUDE_SESSION_ID
)app.version
: Aktuelle Claude Code-Version (gesteuert durchOTEL_METRICS_INCLUDE_VERSION
)organization.id
: Organisations-UUID (bei Authentifizierung)user.account_uuid
: Konto-UUID (bei Authentifizierung, gesteuert durchOTEL_METRICS_INCLUDE_ACCOUNT_UUID
)
1. Sitzungszähler
Wird zu Beginn jeder Sitzung ausgegeben.
2. Codezeilen-Zähler
Wird ausgegeben, wenn Code hinzugefügt oder entfernt wird.
- Zusätzliches Attribut:
type
("added"
oder"removed"
)
3. Pull-Request-Zähler
Wird beim Erstellen von Pull Requests über Claude Code ausgegeben.
4. Commit-Zähler
Wird beim Erstellen von Git-Commits über Claude Code ausgegeben.
5. Kostenzähler
Wird nach jeder API-Anfrage ausgegeben.
- Zusätzliches Attribut:
model
6. Token-Zähler
Wird nach jeder API-Anfrage ausgegeben.
- Zusätzliche Attribute:
type
("input"
,"output"
,"cacheRead"
,"cacheCreation"
) undmodel
Interpretation von Metrikdaten
Diese Metriken bieten Einblicke in Nutzungsmuster, Produktivität und Kosten:
Nutzungsüberwachung
Metrik | Analysemöglichkeit |
---|---|
claude_code.token.usage | Aufschlüsselung nach type (Eingabe/Ausgabe), Benutzer, Team oder Modell |
claude_code.session.count | Verfolgen Sie die Akzeptanz und das Engagement im Laufe der Zeit |
claude_code.lines_of_code.count | Messen Sie die Produktivität durch Nachverfolgen von Code-Ergänzungen/Entfernungen |
claude_code.commit.count & claude_code.pull_request.count | Verstehen Sie die Auswirkungen auf Entwicklungs-Workflows |
Kostenüberwachung
Die Metrik claude_code.cost.usage
hilft bei:
- Verfolgung von Nutzungstrends über Teams oder Einzelpersonen hinweg
- Identifizierung von Sitzungen mit hoher Nutzung zur Optimierung
Kostenmetriken sind Näherungswerte. Für offizielle Abrechnungsdaten wenden Sie sich an Ihren API-Anbieter (Anthropic Console, AWS Bedrock oder Google Cloud Vertex).
Alarmierung und Segmentierung
Zu berücksichtigende häufige Alarme:
- Kostenspitzen
- Ungewöhnlicher Token-Verbrauch
- Hohes Sitzungsvolumen von bestimmten Benutzern
Alle Metriken können nach user.account_uuid
, organization.id
, session.id
, model
und app.version
segmentiert werden.
Backend-Überlegungen
Backend-Typ | Am besten geeignet für |
---|---|
Zeitreihen-Datenbanken (Prometheus) | Ratenberechnungen, aggregierte Metriken |
Spaltenorientierte Speicher (ClickHouse) | Komplexe Abfragen, Analyse eindeutiger Benutzer |
Beobachtbarkeitsplattformen (Honeycomb, Datadog) | Erweiterte Abfragen, Visualisierung, Alarmierung |
Für DAU/WAU/MAU-Metriken wählen Sie Backends, die effiziente Abfragen für eindeutige Werte unterstützen.
Serviceinformationen
Alle Metriken werden exportiert mit:
- Servicename:
claude-code
- Serviceversion: Aktuelle Claude Code-Version
- Metername:
com.anthropic.claude_code
Sicherheitsüberlegungen
- Telemetrie ist Opt-in und erfordert eine explizite Konfiguration
- Sensible Informationen wie API-Schlüssel oder Dateiinhalte sind niemals in Metriken enthalten