Overview
Für eine Schweizer Versicherungsgesellschaft haben wir Observability für eine verteilte Microservice-Applikation eingeführt. Traces, Metriken, Logs und Dashboards machen Fehler schneller nachvollziehbar und liefern Datengrundlagen für Betrieb und Weiterentwicklung.
Ausgangslage
Verteiltes System
Die Menge der Services und Schnittstellen machte Troubleshooting-Sessions komplex und zeitaufwändig.
Log-basierte Analyse
Fehleranalyse und Performance-Bewertung stützten sich weitgehend auf Logs, deren Menge die Fehlersuche erschwerte.
Zuordnung von Fehlern
Fehler liessen sich nur schwer Benutzern, Fachobjekten und Releases zuordnen.
Reaktive Erkennung
Probleme wurden oft erst nach Meldungen durch User oder Fachbereiche sichtbar.
Wenig Entscheidungsdaten
Für Priorisierung von Tasks und Performance-Optimierung fehlten belastbare, vergleichbare Daten.
Unser Beitrag
- Konzeption einer praxistauglichen Observability-Lösung für Entwicklung, Betrieb und Support.
- Instrumentierung der Quarkus-Backend-Services mit OpenTelemetry und Micrometer.
- Instrumentierung der Kafka-Streams-Applikation mit OpenTelemetry-Java-Agent.
- Unterstützung bei der Instrumentierung des Angular-Microfrontends mit Faro.
- Anbindung der Applikation an Grafana Cloud.
- Erweiterung der Logs um Trace-Informationen zur Korrelation.
- Aufbau von Alerting und Support-Dashboards.
- Training für Entwickler, Business-Analysten und Support.
Lösung
Wir haben eine Observability-Basis geschaffen, die technische Signale mit fachlichem Kontext verbindet und für Entwicklung, Betrieb und Support nutzbar macht.
OpenTelemetry
Backend-Services und Kafka-Flows liefern verteilte Traces über Service-Grenzen hinweg an Grafana.
Metriken
Prometheus-Metriken machen Health, Last und Performance kontinuierlich sichtbar.
Alerting
Relevante Fehler werden proaktiv über dedizierte Microsoft-Teams-Kanäle notifiziert.
Dashboards
Grafana und Splunk bündeln Health-, Alert-, Support- und Performance-Sichten.
Resultate
Schnellere Fehleranalyse
Zusammengehörende Logs, Traces und fachliche IDs lassen sich gezielt innert Sekunden anhand von User-IDs, Objekt-IDs oder Trace-IDs finden.
Proaktiv statt reaktiv
Alerting macht relevante Probleme sichtbar, bevor sie von Benutzern gemeldet werden.
Besserer Support
Fehler können Benutzern, Fachobjekten und Releases nachvollziehbar zugeordnet werden.
Performance-Transparenz
Performance-Fragen werden anhand belastbarer Observability-Daten beantwortet.
Gemeinsame Sicht
Entwicklung, Betrieb und Business-Analyse arbeiten mit denselben Dashboards.
Zielgerichtete Weiterentwicklung
Daten aus Betrieb und Support fliessen direkt in Priorisierung und Optimierung ein.
Technologien
- OpenTelemetry
- Prometheus
- Grafana Cloud
- Splunk
- Quarkus
- Angular
- Faro
- Apache Kafka & Kafka Streams
- Microsoft Teams