Pydantic Logfire Fleet ermöglicht Live-Änderungen an Telemetrieeinstellungen

Pydantic hat eine praxisnahe Anleitung zur Nutzung des Fleet Managements in Pydantic Logfire veröffentlicht. Damit lassen sich Telemetrieeinstellungen ändern, während Anwendungen und OpenTelemetry Collector weiterlaufen. Der Ablauf umfasst Logfilterung, Attribut-Redaction, Trace-Sampling, schrittweise Rollouts und Host-Überwachung.
- Fleet kann Logstufen, Redaction und Sampling ändern, während Dienste weiterlaufen.
- Das Beispiel maskiert Attribute, die auf *token* passen, mit [REDACTED].
- Das Trace-Sampling wird auf 10% gesetzt, während /health* vollständig verworfen wird.
- Mit Early-Access-Rollouts lassen sich Richtlinienversionen auf ausgewählten Instanzen testen.
- Fleet kann OpenTelemetry Collector auf Hosts und in Kubernetes verwalten.
Live-Steuerung für laufende Dienste
Die Anleitung verbindet einen FastAPI-Dienst namens checkout-api über das Logfire SDK mit Fleet. Der Dienst wird mit fleet=True konfiguriert. Alternativ sorgt LOGFIRE_FLEET=true ohne Codeänderung für dasselbe Verhalten. Die Fleet-Unterstützung erfordert Logfire 5.5.0 oder neuer mit dem fleet-Extra.
Nachdem die Anwendung in der Fleet-Verwaltungsoberfläche hinzugefügt wurde, erhält sie einen Fleet-Verbindungsschlüssel und verwendet die Umgebungsvariablen OTEL_OPAMP_ENDPOINT und OTEL_OPAMP_HEADERS. Die Anwendung sendet Telemetrie weiterhin mit ihrem bestehenden Schreib-Token, während der Verbindungsschlüssel die Einstellungen verwaltet.
Laut Pydantic funktionieren dieselben Schritte auch mit Node.js, Java, .NET und Go, wobei sich Installation und Start je nach Sprache unterscheiden. Ist kein Fleet-Endpunkt verfügbar, gibt die Anwendung eine Warnung aus und läuft ohne Verwaltung weiter. So kann der Code bereitgestellt werden, bevor die Fleet-Einstellungen konfiguriert sind.
Filterung, Redaction und Sampling ohne Neustart
Im Beispiel erzeugt checkout-api Debug-Logs, zeichnet ein Karten-Token in einem Span auf und verarbeitet einen plötzlichen Anstieg des Datenverkehrs. Über die SDK-Richtlinie kann ein Betreiber die minimale Logstufe auf Warn setzen. Nach Angaben von Pydantic erscheinen Debug- und Info-Einträge innerhalb von Sekunden nicht mehr in der Live-Ansicht, während der Prozess weiterläuft. Fleet verwirft diese Einträge beim Export, sodass sie durch eine spätere Richtlinie wieder aktiviert werden können.
Die Richtlinie kann außerdem Attribute maskieren, die auf *token* passen. Das SDK ersetzt passende Werte vor dem Export des Spans durch [REDACTED]. Der Wert gelangt damit weder zu Logfire noch zu einem anderen vom SDK verwendeten Backend. Eine separate Bereinigungsfunktion kann sowohl Werte als auch Schlüssel abgleichen.
Für Traces setzt das Beispiel eine Sampling-Rate von 10% und fügt eine Regel hinzu, die /health*-Traces vollständig verwirft. Die erste passende Regel bestimmt die Rate eines neuen Traces. Spans mit bereits gesampelten Eltern bleiben gesampelt, damit Traces vollständig bleiben. Nicht gesampelte Traces erreichen Logfire nie.
Collector, schrittweise Rollouts und Betriebsüberblick
Fleet verwaltet außerdem einen OpenTelemetry Collector auf einem Linux-Host. Die Anleitung aktiviert zunächst die Host-Überwachung und ändert dann die Collector-Richtlinie, um Nginx-Logdateien aus /var/log/nginx/*.log zu erfassen. Der Collector wird als Dienst installiert. Eine Version, die er nicht ausführen kann, wird abgelehnt, während die aktuelle Konfiguration aktiv bleibt. Fleet meldet den Grund für den Fehler.
Rollouts befinden sich derzeit im Early Access. Wenn diese Funktion aktiviert ist, wird eine veröffentlichte Richtlinie zunächst an keine Instanzen gesendet, bis ein Betreiber einen Rollout startet. Dieser kann mit einer ausgewählten Anzahl von Instanzen beginnen. Fleet erfasst, welche Instanzen die Version angewendet haben und bei welchen dies fehlgeschlagen ist. Betreiber können den Rollout ausweiten oder eine frühere Richtlinienversion wiederherstellen.
Für Kubernetes bietet Fleet eine Bridge, die den OpenTelemetry Operator steuert. Bestehende Collector können stattdessen im reinen Berichtmodus verbunden werden. So kann Fleet ihren Zustand, ihre Komponenten und die laufende Konfiguration anzeigen, ohne diese Konfiguration zu ändern. Die Übersicht vergleicht das Collector-Volumen mit dem vorangegangenen Zeitraum, während Flows zeigt, wo Daten empfangen und gesendet werden.
Was das für Logfire-Nutzer bedeutet
Die Anleitung präsentiert Fleet als Möglichkeit, auf veränderte Telemetrieanforderungen zu reagieren, ohne auf ein Anwendungs-Deployment zu warten oder einen Dienst neu zu starten. Teams können das Volumen von Logs und Traces reduzieren, sensible Attribute schützen und Richtlinienänderungen mit einer kleinen Gruppe von Instanzen testen. Pydantic betont außerdem, dass Fleet selbst keine Telemetrie überträgt. Bei der Suche nach fehlenden Daten benötigen Nutzer daher weiterhin den korrekten Schreib-Token und die richtige Region.
Pydantic: Turn down OpenTelemetry noise without a redeploy


