Inventage Tech-RadarInventage Tech-Radar
Adopt

Grafana Tempo ist ein skalierbares Open-Source-Backend für Distributed Tracing und in mehreren unserer Kundenprojekte produktiv im Einsatz. Die Instrumentierung der Services erfolgt über OpenTelemetry, wodurch wir herstellerunabhängig bleiben und Traces, Metriken sowie Logs mit gemeinsamem Kontext korrelieren können.

In Kombination mit Grafana und Loki springen wir direkt vom Log-Eintrag in den zugehörigen Trace, und mit TraceQL filtern wir gezielt nach Spans mit bestimmten Attributen. Beides beschleunigt die Fehleranalyse in komplexen Microservice-Landschaften deutlich.

Da Tempo ausschliesslich Object Storage als Backend nutzt, bleibt der Betrieb schlank und integriert sich gut in bestehende Kubernetes-Infrastrukturen.

Adopt

In der Welt der Microservices durchläuft eine Anfrage mehrere Komponenten, bevor eine endgültige Antwort zurückgegeben wird. Dies erschwert die Analyse von Fehlern und Leistungsengpässen im gesamten System. Distributed Tracing kann hier Abhilfe schaffen. Einzelne Microservices arbeiten zusammen, um den kompletten Weg eines Requests durch das System zu protokollieren. Dazu wird jedem Request beim Eintritt in das System eine Trace-ID zugewiesen, die mit dem Request weitergereicht wird. Die Microservices melden dann jeweils ihre Sicht auf den Request an eine zentrale Datenbank, wodurch eine globale Sicht auf Request bzw. Response über das gesamte System entsteht.

Grafana Tempo ist ein quelloffenes und skalierbares Backend für das Speichern von Traces. Es kann mit Logging-Backends integriert werden, um auch Log-Statements einem Trace zuordnen zu können. Bei Inventage setzen wir Tempo sowohl während der Entwicklung als auch im produktiven Betrieb erfolgreich ein.