Observability (zu Deutsch etwa „Beobachtbarkeit") beschreibt die Fähigkeit, den inneren Zustand eines Systems anhand seiner externen Ausgaben — Logs, Metriken und Traces — zu verstehen. Je besser ein System observabel ist, desto schneller lässt sich erklären, warum etwas gerade nicht funktioniert.
Die drei Säulen der Observability
- Logs: Ereignisprotokolle mit Zeitstempel — Fehlermeldungen, Zugriffe, Zustandswechsel. Sie beantworten die Frage „Was ist passiert?".
- Metriken (Metrics): Zahlenwerte über die Zeit — CPU-Auslastung, Anfragen pro Sekunde, Fehlerraten. Sie beantworten „Wie viele / wie stark?".
- Traces: Nachverfolgung eines einzelnen Requests durch alle beteiligten Dienste — sie beantworten „Welchen Weg nahm eine Anfrage und wo dauerte es?".
Observability vs. Monitoring
Monitoring beantwortet bekannte Fragen: Ist der Dienst erreichbar? Überschreitet die CPU einen Schwellwert? Observability geht einen Schritt weiter: Sie ermöglicht es, unbekannte Probleme zu entdecken — etwa warum ein Dienst trotz grüner Alarme langsam reagiert. Faustregel: Monitoring sagt „Es ist kaputt", Observability sagt „Hier ist die Ursache".
Werkzeuge im Ökosystem
- Prometheus — Metrik-Sammlung mit eigener Abfragesprache (PromQL).
- Grafana — Dashboards und Visualisierung über viele Datenquellen.
- OpenTelemetry — offener Standard für Logs, Metriken und Traces (Instrumentierung).
- Jaeger / Tempo — Trace-Backends für verteilte Systeme.
Warum Observability gerade heute wichtig ist
Mit Container- und Mikroservice-Architekturen verteilt sich ein einzelner Request über dutzende Dienste. Ohne Traces und saubere Telemetrie-Daten ist ein Fehler ohne klaren Ort kaum noch zu finden. Observability ist damit die Grundlage für schnelles Debugging in modernen Umgebungen.
Verwandte Grundlagen: Monitoring, Telemetrie, Log, Grafana.