✨ Maximale Aufbewahrungsdauer für Verbrauchs-Logs
Hier wird erklärt, wie die maximale Aufbewahrungsdauer für Verbrauchs-Logs festgelegt wird. Dies hilft bei der Verwaltung der Datenbankgröße, indem alte Logs automatisch gelöscht werden.
✨ Dies ist auf LiteLLM Enterprise verfügbar
Voraussetzungen
- Postgres (für die Protokollspeicherung)
- Redis (optional) – erforderlich, nur wenn Sie mehrere Proxy-Instanzen ausführen und verteilte Sperren aktivieren möchten
Verwendung
Einrichtung
Fügen Sie dies Ihrer proxy_config.yaml unter general_settings hinzu
general_settings:
maximum_spend_logs_retention_period: "7d" # Keep logs for 7 days
# Optional: set how frequently cleanup should run - default is daily
maximum_spend_logs_retention_interval: "1d" # Run cleanup daily
litellm_settings:
cache: true
cache_params:
type: redis
Konfigurationsoptionen
maximum_spend_logs_retention_period (erforderlich)
Wie lange Logs aufbewahrt werden sollen, bevor sie gelöscht werden. Unterstützte Formate
"7d"– 7 Tage"24h"– 24 Stunden"60m"– 60 Minuten"3600s"– 3600 Sekunden
maximum_spend_logs_retention_interval (optional)
Wie oft der Bereinigungsjob ausgeführt werden soll. Verwendet das gleiche Format wie oben. Wenn nicht gesetzt, wird die Bereinigung alle 24 Stunden ausgeführt, nur wenn maximum_spend_logs_retention_period gesetzt ist.
Wie es funktioniert
Schritt 1. Sperren-Erwerb (Optional mit Redis)
Wenn Redis aktiviert ist, verwendet LiteLLM es, um sicherzustellen, dass nur eine Instanz die Bereinigung gleichzeitig durchführt.
- Wenn die Sperre erworben wurde
- Diese Instanz fährt mit der Bereinigung fort
- Andere überspringen sie
- Wenn keine Sperre vorhanden ist
- Die Bereinigung wird trotzdem ausgeführt (nützlich für Einzelknoten-Setups)

Funktionsweise von Verbrauchs-Log-Löschungen
Schritt 2. Batch-Löschung
Sobald die Bereinigung beginnt
- Berechnet sie das Stichtagsdatum anhand der konfigurierten Aufbewahrungsdauer
- Löscht Logs, die älter als der Stichtag sind, in Batches von 1000
- Fügt eine kurze Verzögerung zwischen den Batches hinzu, um eine Überlastung der Datenbank zu vermeiden
Standardeinstellungen:
- Batch-Größe: 1000 Logs
- Maximale Batches pro Ausführung: 500
- Maximale Löschungen pro Ausführung: 500.000 Logs
Sie können die Anzahl der Batches über eine Umgebungsvariable ändern
SPEND_LOG_RUN_LOOPS=200
Dies würde ermöglichen, dass bis zu 200.000 Logs in einer Ausführung gelöscht werden.

Batch-Löschung alter Logs