Monitoring
Die kontinuierliche Überwachung von KI-Systemen in Produktion, um Performance-Probleme, Datenänderungen und Modellverschlechterung frühzeitig zu erkennen.
Die Fähigkeit, den internen Zustand eines Systems anhand seiner externen Ausgaben zu verstehen – bestehend aus den drei Säulen Logs, Metrics und Traces.
Monitoring sagt dir: „Der Service ist down.” Observability sagt dir: „Der Service ist down, weil der Datenbankaufruf in Funktion X bei User Y nach 30 Sekunden timeoutet, ausgelöst durch eine langsame Query, die durch einen fehlenden Index verursacht wird.”
Der Unterschied liegt in der Tiefe: Monitoring überwacht bekannte Metriken. Observability gibt dir die Werkzeuge, um unbekannte Probleme in komplexen, verteilten Systemen zu untersuchen.
Die drei Säulen:
| Säule | Was es ist | Beispiel |
|---|---|---|
| Logs | Zeitgestempelte Ereignisse | ERROR: DB timeout after 30s |
| Metrics | Numerische Messwerte | p99_latency = 2.3s |
| Traces | Anfragepfad durch Services | Request → Auth → DB → Cache → Response |
from opentelemetry import trace
tracer = trace.get_tracer(__name__)
def generate_response(prompt: str) -> str:
with tracer.start_as_current_span("llm-generation") as span:
span.set_attribute("prompt.length", len(prompt))
span.set_attribute("model", "gpt-5")
result = llm.generate(prompt)
span.set_attribute("response.tokens", result.token_count)
return result.text
Observability ist wie die Instrumente im Cockpit eines Flugzeugs: Du kannst nicht in den Motor schauen, aber Drehzahl, Temperatur und Treibstoffstand zeigen dir genau, was drinnen passiert. Monitoring sagt dir, ob das Flugzeug fliegt – Observability sagt dir, warum es abstürzt.
Drei Säulen: Logs (Ereignisse), Metrics (Messwerte), Traces (Anfragepfade)
Unterschied zu Monitoring: Observability erklärt das Warum, Monitoring das Was
Besonders wichtig für verteilte Systeme und Microservices
LLM-Debugging
Traces zeigen, welcher Teil der RAG-Pipeline (Retrieval, Reranking, Generation) für Latenz verantwortlich ist
Incident Response
Bei einem Ausfall sofort erkennen, welcher Service die Ursache ist und warum
Performance-Optimierung
Engpässe in verteilten Systemen identifizieren, die im Monitoring unsichtbar wären
Monitoring prüft bekannte Zustände: 'Ist die CPU über 90%?' Observability ermöglicht es, unbekannte Probleme zu untersuchen: 'Warum ist diese spezifische Anfrage langsam?' Monitoring sagt dir, dass etwas falsch ist – Observability hilft dir herauszufinden, was und warum.
Logs: Zeitgestempelte Ereignisse (Fehler, Aktionen). Metrics: Numerische Messwerte über Zeit (CPU, Latenz, Fehlerrate). Traces: Der vollständige Pfad einer Anfrage durch alle beteiligten Services – mit Zeitstempeln pro Schritt.
Eine Technik, bei der jede Anfrage eine eindeutige Trace-ID bekommt, die durch alle Services weitergegeben wird. So kann man den kompletten Weg einer Anfrage nachverfolgen und sehen, wo Zeit verloren geht.