
Jaeger Tracing
Open Source Distributed End-to-End Tracing
Jaeger
Ein Blick ins innere deiner Anwendung
Jaeger ermöglicht es Entwicklern und Systemadministratoren, den Fluss einer Anfrage über alle beteiligten Komponenten hinweg zu verfolgen und die Leistung und das Verhalten einer Anwendung zu überwachen. Es basiert auf der Distributed-Trace-Technologie und erfasst Informationen über jede einzelne Anfrage, einschließlich der dazugehörigen Prozesse und Interaktionen, um ein umfassendes Bild zu erstellen.
Transparent. Schnell. Verteilt.
Features
Die gesamte Applikation im Blick
Bei modernen Anwendungen und Websites sind die Komponenten oft über mehrere Server und Dienste verteilt. Dies macht es schwierig, den gesamten Ablauf einer Anfrage oder Transaktion zu verfolgen, wenn etwas schief geht oder optimiert werden muss. Hier kommt Jaeger Tracing ins Spiel. Jaeger besteht dabei aus fünf Komponenten, welche unterschiedliche Aufgaben des Systems übernehmen.
Bibliotheken
Diese Instrumentierungsbibliotheken werden in den Code der Anwendung eingebunden, um automatisch Traces für Anfragen und Transaktionen zu generieren. Seit 2022 wird hierfür OpenTelemetry verwendet.
Collector
Storage Backend
Query Service
Visualisierung
Sammlung der Daten via OpenTelemetry
OpenTelemetry ist eine Sammlung von APIs, SDKs und Tools, welche zum Instrumentieren, Generieren, Sammeln und Exportieren von Telemetriedaten (Metriken, Protokolle und Traces) verwendet werden, um so bei der Analyse der Leistung und des Verhaltens Deiner Software zu unterstützen.
Tracing
Wie funktioniert Tracing im Detail?
Jaeger unterteilt die gewonnen Informationen einfach gesagt in zwei Komponenten. Der ganze Funkitonsablauf ist für Jaeger ein Trace, während einzelne Operationen bzw. Funktionen Spans genannt werden. Ein Span, bspw. das Lesen aus einer Datenbank, kann selbst wiederum eigene Spans enthalten, welche gemeinsam die. Laufzeit bestimmen.
Du kannst Dir vielleicht nicht vorstellen, wie der Einsatz von Jaeger in einer klassischen Webapplikation aussehen kann? Wir versuchen es etwas deutlicher zu machen.
- Stell dir vor, Du hast eine E-Commerce-Website erstellt! Sie besteht aus verschiedenen Teilen wie dem Webserver, dem Warenkorbsystem, dem Bestellsystem und natürlich der Datenbank.
- Jetzt kommt Jaeger Tracing ins Spiel, ein wirklich mächtiges Werkzeug! Wir integrieren die OpenTelemetry Bibliotheken in jeden Teil Deiner Website, so dass wir genau verfolgen können, was bei jeder Kundenbestellung passiert.
- Ein neuer Kunde besucht deine Website und findet ein tolles Produkt. Sobald er auf „Kaufen“ klickt, geht der Spaß los! Jaeger beginnt automatisch, jeden Schritt der Anfrage zu verfolgen, während sie durch die verschiedenen Komponenten wandert.
- Der Webserver empfängt die Anfrage und verarbeitet sie. Jaeger startet sofort den Trace für diese Anfrage. Dann ruft der Webserver den Warenkorb-Service auf, um Informationen über das Produkt zu erhalten – und boom, ein neuer „Span“ im Trace wird erstellt, um die Zeit und die Informationen für diesen Schritt festzuhalten.
- Der Warenkorb-Dienst interagiert mit der Datenbank, um die Produktinformationen abzurufen, und auch diese Aktion wird als eigener Span im Trace aufgezeichnet.
- Weiter geht’s: Der Webserver verarbeitet weitere Schritte wie die Auswahl einer Lieferadresse und einer Zahlungsart und ruft den Bestellservice auf, um die Bestellung abzuschließen. Jeder dieser Schritte wird von Jaeger aufgezeichnet und in eigenen Spans verewigt.
- Und jetzt kommt der Clou: Nach Abschluss der Bestellung können die gesammelten Trace-Daten eingesehen und analysiert werden. Mit Hilfe des Jaeger Query Service und der Visualisierungskomponente sehen wir, wie viel Zeit in jedem Schritt verbraucht wurde, ob es Verzögerungen gab und was wir optimieren können, um deine Website auf ein neues Performance-Niveau zu bringen!
- Jaeger Tracing gibt uns einen vollständigen Überblick über Deine verteilte Anwendung und hilft uns, Engpässe zu erkennen und die Gesamtperformance zu verbessern.
- Anfrage 30%
- Warenkorb 50%
- Webserver 60%
- Datenbank 80%
- Bestellung 100%
Beispiel
Einfach starten mit Jaeger
Alle notwendigen Komponenten können via Executable oder der Verwendung der Docker-Container getestet bzw. in Produktion bereitgestellt werden. Der Getting Started Guide der Projektseite liefert detaillierte Einblicke in Möglichkeiten und notwendige Voraussetzungen.
Unter Verwendung des All-in-one Containers können alle notwendigen Komponenten mit einem Komando gestartet werden. Das Setup empfiehlt sich jedoch eher für lokale Tests denn für Produktivumgebungen.
docker run -d --name jaeger \ -e COLLECTOR_ZIPKIN_HOST_PORT=:9411 \ -e COLLECTOR_OTLP_ENABLED=true \ -p 6831:6831/udp \ -p 6832:6832/udp \ -p 5778:5778 \ -p 16686:16686 \ -p 4317:4317 \ -p 4318:4318 \ -p 14250:14250 \ -p 14268:14268 \ -p 14269:14269 \ -p 9411:9411 \ jaegertracing/all-in-one:1.47
Beratung
Jaeger Consulting
Wir helfen Dir bei Konzeption, Installation und Integration Deiner Umgebung – für mehr Power, Know-How, Peace of Mind!
Power
Jahrelange Erfahrung
Seit vielen Jahren unterstützen wir unsere Kunden beim Betrieb ihrer IT-Infrastrukturen. Branchen, Tools, Betriebssysteme – wir haben alles Mögliche gesehen, betrieben und gebaut. Wir kennen die Best Practices mit Jaeger, Prometheus, Kubernetes & Co. und viele Themen rund um Open Source und Linux.
Know-How
Volles Verständnis
Wir verstehen nicht nur Deine IT-Systeme und Services, sondern das große Ganze und die unzähligen Aspekte des Betriebs komplexer IT-Infrastrukturen. Häufig mangelt es an Zeit und Personal bei steigender Komplexität und einer sich schnell verändernden IT-Welt.
Peace of Mind
Gezielte Verstärkung
Als Linux-Generalisten und Open Source Expertinnen sind wir breit aufgestellt und bestens eingebunden in die Open Source Communities. Mit uns bist Du nie allein! Ob als IT-Berater, Engineer, Support oder Architekt – wir verstärken Dein Team und nehmen Dir Arbeit ab.
Alles aus einer Hand
Das Ganzheitliche Portfolio von NETWAYS
Du benötigst Unterstützung bei Planung, Einführung und Betrieb von Jaeger Tracing. NETWAYS unterstützt Dich bei allen Fragen rund um Consulting, Outsourcing und natürlich Training.
IT Outsourcing
Support
Schulungen
Aktuelles
Artikel aus unserem Blog
Webinare
Unsere Webinararchiv




