Seite wählen

Jaeger Tracing

Open Source Distributed End-to-End Tracing

Jaeger Tracing ist ein leistungsstarkes Open-Source-Tool, welches eine detaillierte Ablaufverfolgung von verteilten Applikationen ermöglicht.

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

Der Collector ist für den Empfang und die anschließende Speicherung der von den Instrumentierungsbibliotheken gesendeten Tracedaten verantwortlich.

Storage Backend

Hier werden die Tracedaten für die spätere Analyse gespeichert und sind somit jederzeit abrufbar. Hier werden Cassandra, Elasticsearch, Kafka und In-Memory-Systeme unterstützt.

Query Service

Dieser ermöglicht es den Entwicklern, die gespeicherten Traces zu durchsuchen und zu analysieren, um Leistungsprobleme zu erkennen oder zu verstehen, wie verschiedene Komponenten interagieren.

Visualisierung

Jaeger bietet eine grafische Oberfläche zur Darstellung der Tracedaten, um einen leichteren Einblick in das Verhalten der Anwendung zu erhalten.

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.

Erfahre mehr

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Der Warenkorb-Dienst interagiert mit der Datenbank, um die Produktinformationen abzurufen, und auch diese Aktion wird als eigener Span im Trace aufgezeichnet.
  6. 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.
  7. 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!
  8. 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% 30%
  • Warenkorb 50% 50%
  • Webserver 60% 60%
  • Datenbank 80% 80%
  • Bestellung 100% 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.

Erfahre mehr

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

Als externe IT-Abteilung übernehmen wir den vollständigen Betrieb ganzer Umgebungen. Wir kümmern uns um alle dafür notwendigen Systeme aus der Open Source Welt und arbeiten bei Dir mit.

Support

Bei uns bekommst Du schnelle Hilfe von Deinem persönlichen Systems Engineer. Ganz egal, ob per Telefon, Chat, E-Mail oder Ticket: Wir sind immer für Dich da! Jaeger tut nicht, was es soll? Melde Dich bei uns!

Schulungen

Unser weitreichendes und profundes Praxiswissen geben wir in unseren Schulungen und Workshops gerne an Dich weiter. Selbstverständlich als Präsenz- und natürlich auch Online Training.

Aktuelles

Artikel aus unserem Blog

Webinare

Unsere Webinararchiv

Nimm einfach Kontakt mit uns auf. Wir freuen uns auf Dich!