Web

Logging allein ist noch keine Observability, aber ohne Logging keine Observability

Was Logs, Metriken und Traces jeweils leisten, und wann welches Werkzeug tatsaechlich gebraucht wird.

Die drei Saeulen

Logs beantworten die Frage, was passiert ist, als zeitgestempelte Ereignisse, idealerweise strukturiert statt als Freitext, gut zum Debuggen, schlecht fuer den Ueberblick. Metriken zeigen, wie es gerade laeuft, CPU, Memory, Request-Rate, Error-Rate, Response-Time, gut fuer Alerting, schlecht fuer die Analyse eines Einzelfalls. Traces zeigen, wie sich ein einzelner Request durch das System bewegt hat, welcher Service langsam war, welcher einen Fehler produziert hat, wertvoll fuer Performance-Analyse in verteilten Systemen.

Wann man was braucht

Eine kleine Web-Applikation mit einem Server kommt mit gutem Logging plus Uptime-Monitoring aus. Eine wachsende Applikation mit mehreren Diensten profitiert von Structured Logging, zentraler Log-Aggregation und Metriken. Bei Microservices oder verteilten Systemen ist Distributed Tracing Pflicht, sonst wird Debugging zum Blindflug.

Tool-Stack nach Budget

Kostenlos und Open Source: der ELK-Stack, Grafana mit Loki, OpenTelemetry. Managed mit einfachem Einstieg: Datadog, New Relic, Elastic Cloud, Sentry fuer Errors. Self-hosted mit wenig Aufwand: Grafana, Prometheus und Loki auf eigenem Server.

Structured Logging als Grundlage

Logs im JSON-Format statt als Freitext ermoeglichen effiziente Suche und Filterung, ein durchsuchbares strukturiertes Ereignis leistet deutlich mehr als ein einzelner Fliesstext-Log-Eintrag.

Checkliste: Structured Logging implementiert, Log-Level sinnvoll gesetzt, zentrale Log-Aggregation eingerichtet, Metriken fuer kritische Endpoints vorhanden, Alerting auf Error-Rate und Response-Time, Trace-ID durch alle Services propagiert.

Ein Beispiel aus der Praxis

Ein Entwicklerteam suchte tagelang nach der Ursache fuer sporadische Zeitueberschreitungen, die nur bei bestimmten Nutzern auftraten. Ohne durchgaengige Trace-IDs liess sich nicht rekonstruieren, welcher der beteiligten Microservices fuer die Verzoegerung verantwortlich war. Erst nach der Einfuehrung einer konsistenten Trace-ID durch alle Services liess sich das Problem innerhalb einer Stunde auf einen einzelnen, ueberlasteten Cache-Layer zurueckfuehren. Der Fall zeigt, wie stark Observability die Zeit bis zur Fehlerbehebung verkuerzen kann, gerade in verteilten Systemen.

Observability-Stack aufbauen? markom.digital richtet Log-Aggregation, Metriken und Alerting ein, von einfachen Setups bis zu vollstaendiger Distributed-Tracing-Infrastruktur.

Weitere Beiträge