Monitoring
Monitoring und Kostenverfolgung
Überblick
Das KIVA-System implementiert ein umfassendes Monitoring- und Kostenverfolgungssystem für alle LLM-Anfragen. Durch die mehrdimensionale Protokollierung können Kosten präzise verschiedenen Kontexten zugeordnet werden - von einzelnen Service Accounts über Teams bis hin zu Kostenstellen und Projekten.
Zweck und Nutzen
- Transparenz: Vollständige Nachvollziehbarkeit aller LLM-Kosten
- Budget-Kontrolle: Automatische Überwachung und Limits auf verschiedenen Ebenen
- Kostenstellenrechnung: Betriebswirtschaftliche Zuordnung für interne Verrechnung
- Compliance: Audit-Trail für alle API-Nutzung
- Optimierung: Identifikation von Einsparpotenzialen durch Nutzungsanalyse
Auswertung und Reporting
Die gesammelten Daten werden in verschiedenen Zeiträumen und Dimensionen ausgewertet:
- Real-time: Sofortige Budget-Überschreitungswarnungen
- Täglich: Aggregierte Berichte pro Service Account, Team und Organisation
- Monatlich: Trend-Analysen und Kostenstellen-Reports
- Ad-hoc: Flexible Abfragen nach beliebigen Kriterien (Zeitraum, Modell, Projekt, etc.)
Technische Implementierung
Das System protokolliert alle Anfragen mehrdimensional für umfassende Kostenzuordnung:
Primäre Spend-Logs (LiteLLM_SpendLogs):
-- Jede API-Anfrage wird mit beiden Kontexten gespeichert
INSERT INTO LiteLLM_SpendLogs (
request_id,
service_account_id, -- Primärer Kontext
user_id, -- Aus Kiva JWT (falls vorhanden)
team_id, -- Aus Kiva JWT (falls vorhanden)
org_id, -- Aus Kiva JWT (falls vorhanden)
spend,
total_tokens,
model,
startTime,
metadata -- Enthält weitere Metadaten aus JWT
)
Aggregierte Berichte:
- Service Account Ebene:
LiteLLM_DailyServiceAccountSpend- Budget-Kontrolle - Team Ebene:
LiteLLM_DailyTeamSpend- Organisatorische Zuordnung - Tag-basiert:
LiteLLM_DailyOrgSpend- Projekt-/Kostenstellen-Zuordnung
Beispiel einer Spend-Log-Aufzeichnung:
{
"service_account_id": "client-chat",
"user_id": "1568",
"team_id": "IM Data",
"spend": 0.025,
"metadata": {
"org_id": "bw-verwaltung",
"cost_center": "IT-001",
"project": "chatbot-v2"
}
}
Beispielhafte Reporting-Dimensionen:
- Service Account: Budgets und Rate-Limits pro zweckgebundenem Account
- Benutzer: Individuelle Nutzungsanalyse (bei JWT verfügbar)
- Team: Gruppierte Kostenzuordnung für Projekte
- Organisation: Übergeordnete Budgets und Compliance
- Kostenstelle: Betriebswirtschaftliche Zuordnung