Skip to main content
Die Prometheus-Unterstützung ist experimentell. Metriknamen, Labels und Konfigurationsoptionen können sich ohne Vorankündigung ändern. Pinnen Sie eine bestimmte GoModel-Version, wenn Sie auf ein stabiles Schema angewiesen sind.
Dieser Leitfaden erklärt, wie Sie den experimentellen Prometheus-Metrik-Endpunkt in GoModel konfigurieren.

Schnellstart

Standardmäßig deaktiviert

Metriken sind standardmäßig deaktiviert. Um die Erfassung von Metriken zu aktivieren, setzen Sie METRICS_ENABLED=true und starten Sie GoModel:
Im restlichen Leitfaden wird nur das Setzen der Variablen gezeigt. Wenden Sie sie über die oben gewählte Startmethode an – .env plus --env-file, ein Inline-Flag -e oder export vor ./bin/gomodel – und starten Sie GoModel neu.

Metriken deaktivieren

Option 1: Umgebungsvariable
Option 2: .env-Datei
Option 3: config.yaml

Eigener Metrik-Endpunkt

Ändern Sie den Standardpfad /metrics:

Konfigurationsoptionen

Über Umgebungsvariablen

Über config.yaml

Beispiele

Produktiv-Setup (Metriken aktiviert)

.env

Entwicklungs-Setup (Metriken deaktiviert)

.env

Eigener Endpunkt für internes Monitoring

config.yaml

Überprüfung

Prüfen, ob Metriken aktiviert sind

Starten Sie den Server und achten Sie auf folgende Log-Meldungen: Metriken aktiviert:
Metriken deaktiviert:

Metrik-Endpunkt testen

Wenn aktiviert:
Wenn deaktiviert:

Auswirkungen auf die Performance

Metriken aktiviert

  • Minimaler Overhead: ca. 100 ns pro Request für die Ausführung der Hooks
  • Arbeitsspeicher: ca. 1 MB für die Speicherung der Metriken (abhängig von der Kardinalität)
  • CPU: Vernachlässigbare Auswirkung (<0.1% in Benchmarks)

Metriken deaktiviert

  • Kein Overhead: keine Hooks registriert, keine Erfassung
  • Die Metrik-Bibliothek ist weiterhin gelinkt, aber inaktiv
  • Empfohlen für maximale Performance in Nicht-Produktivumgebungen

Sicherheitsaspekte

Den Metrik-Endpunkt bereitstellen

Der /metrics-Endpunkt ist durch Master-Key-Authentifizierung geschützt, wenn ein Master-Key konfiguriert ist, genau wie andere HTTP-Endpunkte. Ist kein Master-Key konfiguriert, ist der Endpunkt ohne Authentifizierung erreichbar, sodass Prometheus Metriken ohne Zugangsdaten scrapen kann. Wenn Sie den Metrik-Endpunkt zusätzlich schützen müssen:
  1. Verwenden Sie einen eigenen internen Pfad:
  2. Verwenden Sie Sicherheit auf Netzwerkebene:
    • Konfigurieren Sie Firewall-Regeln, die nur den Prometheus-Server zulassen
    • Verwenden Sie ein privates Netzwerk für die Erfassung von Metriken
    • Betreiben Sie Prometheus in derselben VPC bzw. demselben Netzwerk
  3. Reverse Proxy mit Authentifizierung:

Alerts bei leeren Responses

Ein Provider antwortet manchmal mit 200, liefert aber keine Choices, keinen Output oder keine Token-Nutzung. gomodel_requests_total zählt diese Aufrufe als Erfolge, daher erhöht GoModel zusätzlich gomodel_empty_responses_total und loggt eine Warnung (provider returned 200 with an empty response). Eine Chat Completion ohne Choices gibt dem Client außerdem 502 zurück oder löst ein Failover aus, wenn ein Failover-Ziel existiert. Eine Response mit Inhalt, aber ohne Nutzungsangaben, wird trotzdem zurückgegeben; sie beeinträchtigt nur die Nutzungs- und Kostenerfassung.

Prometheus-Konfiguration

Scrape-Konfiguration

prometheus.yml

Mit eigenem Endpunkt

Fehlerbehebung

Metrik-Endpunkt gibt 404 zurück

Ursache: Metriken sind deaktiviert (der Standard). Lösung:
Setzen Sie METRICS_ENABLED=true über Ihre .env-Datei, ein Inline-Flag -e METRICS_ENABLED=true oder export METRICS_ENABLED=true (die drei Startvarianten finden Sie im Schnellstart) und starten Sie GoModel dann neu.

Es erscheinen keine Metrikdaten

Ursache: Es wurden noch keine Requests gestellt. Lösung: Stellen Sie einige Requests, um Metriken zu erzeugen:

Eigener Endpunkt funktioniert nicht

Ursache: Der Endpunkt muss mit / beginnen. Falsch:
Richtig:

Best Practices

Entwicklung

  • Deaktivieren Sie Metriken für einen schnelleren Start und weniger Rauschen
  • Aktivieren Sie sie nur, wenn Sie Observability-Features testen

Staging

  • Aktivieren Sie Metriken, um das Monitoring-Setup zu testen
  • Verwenden Sie bei Bedarf aus Sicherheitsgründen einen eigenen Endpunkt

Produktion

  • Aktivieren Sie Metriken für vollständige Observability
  • Richten Sie Alerting in Prometheus ein
  • Verwenden Sie Grafana-Dashboards zur Visualisierung
  • Erwägen Sie aus Sicherheitsgründen einen eigenen Endpunkt
  • Überwachen Sie die Kardinalität der Metriken, um eine Explosion zu vermeiden

Siehe auch

Zuletzt geändert am 24. Oktober 2026