Was ist Observability?

Observability, im Deutschen Beobachtbarkeit, beschreibt die Fähigkeit, den inneren Zustand eines Systems aus den Daten ableiten zu können, die es nach außen liefert. Anders als beim klassischen Monitoring geht es dabei nicht nur um die Frage, ob ein System läuft, sondern vor allem darum, warum es sich so verhält, wie es sich verhält. Observability erlaubt es, auch Probleme zu untersuchen, die zum Zeitpunkt der Inbetriebnahme noch gar nicht bekannt waren. Damit ist sie ein zentrales Werkzeug für den Betrieb moderner, oft verteilter Anwendungen.

Die drei Säulen

Observability stützt sich klassischerweise auf drei Datenarten, die einander ergänzen. 

  • Logs zeichnen einzelne Ereignisse als Text auf und liefern den Kontext eines Vorgangs samt Zeitstempel, idealerweise strukturiert als JSON und über eine durchgehende Request-ID korreliert. 

  • Metriken sind numerische Messwerte über die Zeit, etwa Anfragenraten, Fehlerraten, Latenzen in den Perzentilen P50, P95 und P99 oder die Auslastung von Ressourcen. 

  • Traces schließlich verfolgen einzelne Anfragen über mehrere Dienste hinweg und machen sichtbar, an welcher Stelle in einem verteilten System wie viel Zeit verbracht wird.

Monitoring und Observability im Vergleich

Monitoring beantwortet vordefinierte Fragen wie die nach der Verfügbarkeit eines Servers oder der aktuellen Auslastung. Observability geht einen Schritt weiter und ist darauf ausgelegt, neue, im Vorfeld nicht antizipierte Fragen zu beantworten. Während Monitoring stark auf Dashboards und bekannte Schwellwerte setzt, ist Observability auf Exploration ausgerichtet und hilft besonders dort, wo komplexe Wechselwirkungen erst im laufenden Betrieb sichtbar werden.

Werkzeuge und Stacks

In der Praxis hat sich eine Mischung aus offenen und kommerziellen Werkzeugen etabliert. Im Open-Source-Bereich finden sich häufig folgende Bausteine:

  • Prometheus für die Erfassung von Metriken und Grafana für deren Visualisierung
  • Jaeger oder Zipkin für verteiltes Tracing sowie Loki für die zentrale Sammlung von Logs
  • OpenTelemetry als herstellerübergreifender Standard für die Instrumentierung von Anwendungen

Im kommerziellen Umfeld sind unter anderem Datadog, New Relic, Sentry und der Elastic Stack verbreitet, die viele dieser Funktionen in integrierten Plattformen bündeln.

OpenTelemetry als Standard

OpenTelemetry hat sich in den vergangenen Jahren als gemeinsame Grundlage für die Instrumentierung etabliert. Anwendungen werden über standardisierte Schnittstellen mit Logs, Metriken und Traces angereichert und können diese Daten anschließend an unterschiedliche Backends weiterreichen. So lassen sich Werkzeuge austauschen, ohne dass der Anwendungscode neu instrumentiert werden muss.

Empfehlungen für die Praxis

Damit Observability ihren Nutzen entfaltet, sollten einige Grundsätze beachtet werden:

  • Logs strukturiert als JSON ausgeben und über Korrelations-IDs den Weg einer Anfrage über mehrere Dienste hinweg nachvollziehbar machen
  • Service Level Objectives definieren und Alarme bevorzugt an spürbaren Symptomen ausrichten, nicht nur an technischen Ursachen
  • Tracing schrittweise einführen und dort beginnen, wo die meisten Engpässe oder fachlich kritischen Pfade liegen

Relevanz für Web-Projekte

Für Web-Anwendungen ist Observability heute praktisch unverzichtbar. Sie hilft dabei, Performance-Probleme schneller zu lokalisieren, Fehler in Microservice-Landschaften gezielt zu debuggen und die Kapazitätsplanung auf belastbare Daten zu stützen. Nicht zuletzt liefert sie ein realistisches Bild davon, wie Nutzer die eigene Anwendung tatsächlich erleben, und schafft so eine fundierte Grundlage für gezielte Verbesserungen.

Technisches Consulting Schriftzug neben verschiedenen Logos

❮   Zurück