Monitoring vs. Observability
**Monitoring** beantwortet die Frage: "Funktioniert mein System?" – Ja oder Nein, CPU-Last, Verfügbarkeit, Fehlerrate.
**Observability** beantwortet die Frage: "Warum funktioniert mein System nicht?" – und zwar auch bei Problemen, die Sie **vorher nicht kannten**.
Der entscheidende Unterschied
Monitoring setzt voraus, dass Sie wissen, **wonach Sie suchen**. Sie definieren Schwellwerte und Alarme für bekannte Probleme. Observability hingegen ermöglicht es Ihnen, **unbekannte Probleme** zu diagnostizieren, ohne vorher wissen zu müssen, was schief gehen könnte.
**Analogie:** Monitoring ist wie ein Armaturenbrett im Auto – es zeigt Temperatur, Tankfüllung und Drehzahl. Observability ist wie ein erfahrener Mechaniker, der anhand der Symptome die Ursache findet, auch wenn kein Warnlicht leuchtet.
Die drei Säulen der Observability
1. Logs
Strukturierte Aufzeichnungen von Ereignissen. Moderne Logging-Systeme verwenden **strukturierte Logs** (JSON) statt unstrukturiertem Text, was automatisierte Analyse ermöglicht.
2. Metriken
Numerische Zeitreihendaten: Anfragen pro Sekunde, Antwortzeiten, Fehlerraten, CPU-Nutzung. Metriken sind **effizient zu speichern** und eignen sich hervorragend für Dashboards und Alarme.
3. Traces
Verfolgen den **Weg einer einzelnen Anfrage** durch das gesamte System – von der Benutzerinteraktion über APIs und Microservices bis zur Datenbank. Unverzichtbar für verteilte Systeme.
Das Zusammenspiel
Die wahre Kraft entfaltet Observability, wenn alle drei Säulen **miteinander verknüpft** sind:
1. Ein **Alert** (Metrik) zeigt: Antwortzeiten steigen
2. Ein **Trace** zeigt: Der Datenbankzugriff im Bestellservice ist langsam
3. Die **Logs** des Bestellservices zeigen: Eine SQL-Query hat keinen Index und macht einen Full Table Scan
OpenTelemetry: Der neue Standard
**OpenTelemetry (OTel)** hat sich als offener Standard für Observability-Daten etabliert. Vorteile:
Observability in der Praxis
Was Sie messen sollten
Die vier **Golden Signals** nach Google SRE:
| Signal | Beschreibung | Beispiel |
|---|---|---|
| Latenz | Antwortzeit der Anfragen | 95. Perzentil der API-Antwortzeit |
| Traffic | Menge der Anfragen | Requests pro Sekunde |
| Fehlerrate | Anteil fehlerhafter Anfragen | HTTP 5xx / Gesamt |
| Sättigung | Auslastung der Ressourcen | CPU, Memory, Disk I/O |
Ein pragmatischer Stack
Für KMU empfehlen wir einen Stack, der **Open Source und kosteneffizient** ist:
Fazit
In einer Welt verteilter Microservices und Cloud-Infrastruktur reicht klassisches Monitoring nicht mehr aus. **Observability ist die Grundlage**, um komplexe Systeme zu verstehen, Probleme schnell zu diagnostizieren und die Zuverlässigkeit Ihrer Software sicherzustellen.