Mein IBM Anmelden Abonnieren
Was ist verteiltes Tracing?

Was ist verteiltes Tracing?

Entdecken Sie die verteilte Tracing-Lösung von IBM Für KI-Updates anmelden
Verteiltes Tracing, Tracking und Beobachten von Anfragen über ein verteiltes System
Was ist verteiltes Tracing?

Was ist verteiltes Tracing?

Verteiltes Tracing ist eine Technik, die verwendet wird, um Anwendungsanfragen zu verfolgen und zu beobachten, während sie durch verteilte Systeme oder Microservice-Umgebungen geleitet werden.

Verteiltes Tracing verfolgt diese Anwendungsanfragen, indem es Daten über die Interaktionen eines Benutzers während des gesamten Transaktionsprozesses sammelt und zusammenfasst. Diese Technik gibt Ihnen Einblick in den Zustand Ihrer Anwendung und die allgemeine Benutzererfahrung. Entwickler können diese Sammlung von Spuren dann zur Fehlerbehebung in Bereichen verwenden, in denen es zu Fehlern, Irrtümern oder hoher Latenz kommt.

Bessere künstliche Intelligenz für den IT-Betrieb (AIOps)

Erfahren Sie, wie Sie mit APM und ARM schneller Entscheidungen treffen und Ressourcen einsetzen.

Ähnliche Inhalte Registrieren Sie sich für das E-Book über Mythen zur Observability
Wie funktioniert verteiltes Tracing?

Wie funktioniert verteiltes Tracing?

Nachdem Sie nun eine Vorstellung davon haben, was verteiltes Tracing ist, wollen wir uns eingehend mit der Funktionsweise befassen. Im Gegensatz zu einer monolithischen Anwendung werden Microservice-Umgebungen auf verteilten Backends ausgeführt, was es schwieriger macht, den Weg einer vollständigen Anfrage zu verfolgen. Glücklicherweise kann die verteilte Ablaufverfolgung die Aktionen eines Benutzers bei jedem Schritt verfolgen und überwachen, wie sich dies auf Ihre Anwendung auswirkt, vom Front-End bis zum Back-End. 

Verteiltes Tracing beginnt mit der Instrumentierung Ihrer Microservice-Architektur. Sie können Open-Source-Tools wie OpenTelemetry verwenden, um mit der Instrumentierung und der Telemetrieerfassung zu beginnen. 

Als Nächstes müssen Entwickler Code in Ihre Dienste implementieren, um Trace-Daten zu verfolgen und eindeutige Kennungen für jede Transaktion zu vergeben. Der verschlüsselte Trace-Kontext wird über die gesamte Anwendungsumgebung von einem Server zum anderen übertragen. Die Identifikatoren, die sich mit dem Transaktionsverlauf verbunden haben, geben Einblick in Ihre Customer Experience. 

Verteilte Tracing-Tools verfolgen jede Aktivität oder jedes Segment, nachdem sie durch ein Ereignis ausgelöst wurden, während sie einen Server durchlaufen. Wenn ein Span erfasst wird, geht er zum nächsten über und so weiter. Diese Spans beginnen in der Regel mit einem übergeordneten Span und wechseln zu untergeordneten Spans. 

Ihr Tool ordnet diese Aktionen und sammelt relevante Metriken wie benutzerdefinierte Attribute, Zeitstempel und Metadaten. In der Regel hilft Ihnen ein Tool zur verteilten Rückverfolgung dabei, diese Daten in einem Flammendiagramm oder einer Wasserfallansicht zu visualisieren. Diese Diagramme helfen Ingenieuren bei der Interpretation, in welchen Teilen eines verteilten Systems Engpässe, Verlangsamungen oder Leistungsprobleme auftreten. 

Schließlich müssen Sie Ihr verteiltes Tracing-Tool mit einer Observability-Plattform kombinieren, um eine durchgängige Überwachung Ihrer Anwendung zu erhalten. Durch die Integration einer Plattform wie Instana® können Sie Daten extrahieren und verarbeiten, sodass Sie die richtigen nächsten Schritte zur Behebung von Anwendungsfehlern einleiten können. 

Vorteile und Herausforderungen von verteiltem Tracing

Vorteile und Herausforderungen von verteiltem Tracing

Die Komplexität moderner Architektur hat es für monolithische Legacy-Anwendungen schwierig gemacht, die Tools zu bedienen, die sie hosten. Angesichts dieser Herausforderung ist die verteilte Rückverfolgung für die Observability in cloudnativen Umgebungen unerlässlich geworden.

Hier sind einige der wichtigsten Vorteile des verteilten Tracing:

  • Beheben Sie Probleme schneller: Reduzieren Sie die mittlere Reparaturzeit (Mean Time To Resolution, MTTR) und die mittlere Zeit bis zur Entdeckung (Mean Time To Discovery, MTTD) drastisch. Ingenieure können verteilte Traces überprüfen, um die Ursache und den Ort von Anwendungsfehlern zu ermitteln.

  • Fördern Sie die Zusammenarbeit im Team: In einer typischen Microservice-Umgebung werden verschiedene Technologien von spezialisierten Teams verwaltet und entwickelt. Diese Situation kann bei den Teams zu Verwirrung führen, wenn sie nicht wissen, wo der Fehler aufgetreten ist und wer für die Fehlerbehebung zuständig ist. Ein Trace-Link kann Ingenieurteams dabei helfen, die Daten zu visualisieren, damit sie den richtigen Entwickler benachrichtigen können, um das Problem zu beheben. 

  • Flexible Integration und Implementierung: Entwickler können das verteilte Tracing in fast jeder cloudnativen Umgebung implementieren. Die Tools sind mit einer Vielzahl von Programmiersprachen und Anwendungen kompatibel. 

Jeder dieser Vorteile führt zu einer Verbesserung der Anwendungsleistung, indem Sie einen Einblick erhalten, wie eine einzelne Anfrage von Ihrem Server verarbeitet wird. Das verteilte Tracing bietet zwar viele Vorteile, aber es gibt auch einige Herausforderungen, die Sie beachten sollten. 

  • Manuelle Instrumentierung: Einige verteilte Tracing-Plattformen verlangen von den Entwicklern, dass sie ihren Code ändern, um das Tracing von Benutzeranfragen zu starten. Der manuelle Instrumentierungsprozess nimmt viele Arbeitsstunden in Anspruch, macht Ihre Anwendung anfälliger für Fehler und kann dazu führen, dass Traces fehlen.

  • Fehlende Frontend-Analyse: Beim Kauf eines Tracking-Tools ist es wichtig, dass Sie eine lückenlose Abdeckung sicherstellen. Ohne diese Fähigkeit haben Sie nur Einblick in das Backend, ohne die Frontend-Erfahrung des Endbenutzers. Diese Einschränkung kann die Fehlerbehebung in Ihrer Anwendung erheblich erschweren. 

  • Stichprobenverfahren: Einige verteilte Tracing-Tools verwenden willkürliche Stichproben, bei denen die zu analysierenden Traces zufällig ausgewählt werden. Da die Traces nach dem Zufallsprinzip ausgewählt werden und es keine Möglichkeit gibt, vorherzusagen, welche Traces Probleme verursachen werden, kann es vorkommen, dass Teams vorhandene schwerwiegende Fehler übersehen. 

Obwohl bei der Verwendung eines verteilten Systems einige Schwierigkeiten auftreten können, überwiegen die Vorteile fast immer. Kombinieren Sie Ihr verteiltes Tracing-Tool mit Instana, um diese Herausforderungen in Echtzeit zu beheben. 

Verteiltes Tracing vs. Protokollierung

Verteiltes Tracing vs. Protokollierung

Um den Unterschied zwischen verteiltem Tracing und Protokollierung zu verstehen, müssen wir zunächst klären, was ein Protokoll ist. Ein Protokoll ist ein Zeitstempel eines Ereignisses, das in einem Anwendungssystem auftritt. Die Protokollierung überwacht diese wichtigen Ereignisse, die durch Protokolle identifiziert werden, um unvorhersehbare Verhaltensweisen in Ihrer Anwendung hervorzuheben. Wenn ein Fehler auftritt, wird eine automatische Antwort ausgelöst und Ihr DevOps-Team benachrichtigt. 

Einer der größten Nachteile der Protokollierung allein ist, dass sie keinen vollständigen Überblick über die Anwendungsleistung ohne Traces bieten kann. 

Beim verteilten Tracing werden Transaktionen mithilfe von Trace-IDs kontextbezogen durch Ihr System verfolgt. In diesem Zusammenhang können Sie den genauen Ort ermitteln, an dem ein Fehler in Ihrem System aufgetreten ist. Diese Transparenz Ihres Microservice-basierten Systems reduziert die Reaktionszeit bis zur Erkennung in der gesamten Transaktionslandschaft. Daher nutzen viele Teams verteiltes Tracing und Protokollierung gleichzeitig, um sich ein vollständiges Bild über den Zustand ihrer modernen Anwendungen zu machen.

Verteilte Tracing-Tools

Verteilte Tracing-Tools

Verteilte Tracing-Tools unterstützen normalerweise die Instrumentierung, Datenerfassung und Visualisierung von Daten in Flammendiagrammen. Die beliebteste Methode zum Einrichten verteilter Tracing-Lösungen ist die Verwendung von Open-Source-Tools. 

Dies sind einige der beliebtesten Open-Source-Optionen auf dem Markt:

  • OpenTelemetry: OpenTelemetry bietet eine Sammlung von Software Development Kits (SDKs), Datenerfassungssoftware, herstellerneutralen APIs und Tools für die Instrumentierung. Es handelt sich um eine Kombination aus OpenCensus und OpenTracing. Dieses beliebte Performance Monitoring Framework für Cloud-Umgebungen ist eines der beliebtesten verteilten Tracing-Tools. OTel enthält keine Tools zur Analyse oder Visualisierung von Daten, aber Sie können Telemetriedaten an Anwendungen von Drittanbietern senden, um diese Forschung durchzuführen.

  • OpenCensus: OpenCensus wurde von Google auf der Grundlage des internen Trace-Systems erstellt. Es wurde schließlich als Open Source freigegeben und ist in mehrsprachigen Bibliotheken verfügbar. Es kann Daten sammeln und an Backend-Plattformen übertragen, um bei der Fehlerbehebung zu helfen, aber leider fehlt eine API, um die Software in den Code einzubetten. Diese Einschränkung ist einer der Hauptgründe, warum OpenCensus und OpenTracing von der Cloud Native Computing Foundation (CNCF) zu OpenTelemetry zusammengefasst wurden. 

  • OpenTracing: OpenTracing ist eine anbieterunabhängige API, die Entwickler bei der Instrumentierung von Code für das verteilte Tracing unterstützt. Dieses Open-Source-Projekt ist in neun verschiedenen Sprachen verfügbar, darunter Java, Python und Ruby. 

  • Zipkin: Zipkin ist ein weiteres Open-Source-Projekt, das von Twitter erstellt wurde. Dieses verteilte Tracing-System unterstützt DevOps-Fachleute bei der Erfassung wichtiger Anwendungsdaten und der Behebung von Latenzproblemen in verschiedenen Service-Architekturen. Sie können Daten über Apache, Kafka oder HTTP an Zipkin melden.

  • Jaeger: Jaeger ist das neueste Open-Source-Projekt auf dieser Liste. Es wurde von Uber erstellt und lässt sich problemlos in OpenTracing integrieren. Dieses Tool ist hochelastisch und eignet sich daher hervorragend für die Verfolgung von Anfragen in einer Microservice-Umgebung. Zipkin und Jaeger helfen beide bei der Visualisierung von Statistiken, haben aber Einschränkungen, wenn es um die Stichprobenerhebung geht.

Während OpenCensus und OpenTracing in der Vergangenheit beliebt waren, empfehlen wir die Verwendung von OpenTelemetry, Zipkin oder Jaeger. Verwenden Sie diese Tools in Kombination mit einem APM- oder Observability-Tool wie Instana, um einen vollständigen Überblick über die Vorgänge in Ihrer Anwendung zu erhalten. 

Verfolgen Sie mit Instana jede Anfrage auf allen Servern

Verfolgen Sie mit Instana jede Anfrage auf allen Servern

Um die Interaktion zwischen den Nachrichten zu verstehen, die zwischen Ihrer Anwendung und ihren Komponenten ausgetauscht werden, benötigen Sie ein Tracing. Mit Instana AutoTrace entgeht Ihnen kein Kontext und kein Anruf mehr, da wir jede Anfrage erfassen und mit den entsprechenden Spuren aus Open-Source-APIs abgleichen können. Instana macht es mit seinem Dynamic Graph ganz einfach.

Wir optimieren jede Spur zwischen Ihrer Anwendung, Ihrem Service und Ihrer Systemarchitektur, um Ihnen eine vollständige Systemabdeckung zu bieten. Um Instana mit verteiltem Tracing auszuprobieren, melden Sie sich für unsere kostenlose zweiwöchige Testversion an, um auf unsere Funktionen zuzugreifen.

Verteilte Tracing-Produkte

Verteilte Tracing-Produkte

IBM Instana

Steigern Sie die Funktionalität und die Observability in Ihrem Unternehmens-APM, verbessern Sie das Application Performance Management und beschleunigen Sie CI/CD-Pipelines, unabhängig davon, wo sich die Anwendungen befinden.

IBM Instana kennenlernen

Verteilte Tracing-Ressourcen

Verteilte Tracing-Ressourcen

Was versteht man unter Beobachtbarkeit?

Erfahren Sie, wie Observability tiefe Einblicke in moderne verteilte Anwendungen ermöglicht, um Probleme schneller und automatisiert zu identifizieren und zu beheben.

Was ist OpenTelemetry?

Erfahren Sie, wie Entwickler und SREs OpenTelemetry nutzen können, um Geschäftsziele zu erreichen, indem der Prozess der Erfassung von Telemetriedaten standardisiert und ein besseres Verständnis des Systemverhaltens ermöglicht wird.

Was ist Application Performance Management (APM)?

Mit Application Performance Management können Sie Leistungsprobleme vorhersagen und verhindern, bevor sie sich auf Ihr Unternehmen auswirken.

Was ist eine verteilte Cloud?

Erfahren Sie, wie eine verteilte Cloud eine geografisch verteilte, zentral verwaltete Verteilung von Public-Cloud-Services ermöglicht.

Was ist Open-Source-Software?

Erfahren Sie, wie Open-Source-Software durch offene Zusammenarbeit entwickelt wird und wie ihr Quellcode für jeden zugänglich ist, um ihn zu verwenden, zu untersuchen, zu verändern und weiterzugeben.

Was ist Site Reliability Engineering (SRE)?

Automatisieren Sie Aufgaben des IT-Betriebs, beschleunigen Sie die Softwarebereitstellung und minimieren Sie IT-Risiken mit Site Reliability Engineering.

Machen Sie den nächsten Schritt

IBM Instana bietet Echtzeit-Observability, die wirklich jeder nutzen kann. Es sorgt für eine kurze Time-to-Value und stellt gleichzeitig sicher, dass Ihre Observability-Strategie mit der dynamischen Komplexität aktueller und zukünftiger Umgebungen mithalten kann. Von Mobilgeräten bis hin zu Mainframes unterstützt Instana über 250 Technologien und es kommen laufend weitere hinzu. 

IBM Instana kennenlernen Buchen Sie eine Live-Demo