Was ist AWS X-Ray? - AWS X-Ray

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Was ist AWS X-Ray?

AWS X-Ray bietet Ablaufverfolgungsinformationen zu allen empfangenen Antworten und Aufrufen, die eine instrumentierte Anwendung tätigt, einschließlich der folgenden Informationen:

  • Nachgeschaltete Ressourcen AWS

  • Microservices

  • Datenbanken

  • Web-APIs

Verwenden Sie Trace-Daten und Visualisierungen, um Einblicke in die Leistung Ihrer Anwendung zu gewinnen, Probleme zu identifizieren und Optimierungsmöglichkeiten zu finden. Verwenden Sie die Analysetools in X-Ray, um Details zu jeder verfolgten Anfrage an Ihre Anwendung anzuzeigen, zu filtern und zu untersuchen.

So funktioniert X-Ray

Um X-Ray verwenden zu können, müssen Sie zuerst Ihre Anwendung instrumentieren, damit X-Ray verfolgen kann, wie Ihre Anwendung eine Anfrage verarbeitet. Durch Hinzufügen von Instrumentierung zu Ihrer Anwendung kann X-Ray Trace-Daten und Metadaten für eingehende und ausgehende Anfragen und andere Ereignisse innerhalb Ihrer Anwendung senden. Sie können beispielsweise alle eingehenden HTTP-Anfragen und Downstream-Aufrufe Ihrer Java-Anwendung instrumentieren. AWS-Services Sie können Ihre Anwendung auch automatisch instrumentieren. Weitere Informationen finden Sie unter Instrumentierung Ihrer Anwendung.

X-Ray weist jeder Anfrage, die Ihre instrumentierte Anwendung empfängt, eine Trace-ID zu. Wenn Ihre Anwendung mit einer anderen Komponente interagiert, erstellt X-Ray ein Segment. Dieses Segment ist mit der ursprünglichen Trace-ID verknüpft und verfolgt die Qualität der Interaktion mit dieser Komponente.

X-Ray verfolgt die Trace-ID und die Segmente während Ihres gesamten Anwendungsworkflows. Sie können den gesamten Arbeitsablauf analysieren oder einzelne Teile für eine detaillierte Analyse isolieren. Weitere Informationen zu Segmenten finden Sie im folgenden Konzepte Abschnitt.

X-Ray verfolgt Ihre Anwendung bei der Interaktion mit Serviceknoten oder Komponenten, um eingehende Anfragen wie folgt zu bearbeiten:

  1. X-Ray verwendet eine Trace-ID und Segmente, um einzelne Interaktionen zu verfolgen.

  2. Ein AWS Agent sammelt die Trace-ID und die zugehörigen Segmente und leitet sie dann an ein SDK- oder API-Trace-Framework weiter.

  3. X-Ray verfolgt auch Interaktionen mit allen AWS Diensten, die in X-Ray integriert sind.

  4. Der Agent sendet Daten an eine grafische Benutzeroberfläche der Konsole, auf der Sie Informationen über Ihre Traces, Segmente und Untersegmente sowie darüber, wie diese Komponenten interagieren, einsehen können.

Die vorherigen Schritte sind in der folgenden Abbildung dargestellt:

X-Ray zeigt detaillierte Informationen zu Bewerbungsanfragen an.

Wie X-Ray mit Ihrer instrumentierten Anwendung interagiert

Wenn Ihre instrumentierte Anwendung eine Anfrage erhält, geht X-Ray wie folgt vor:

  1. Nachdem Ihre Anwendung die Anfrage bearbeitet hat, sendet das X-Ray SDK Trace-Daten an einen AWS Collector oder Agenten. Anschließend erfasst der Agent die Trace-ID und die Segmente. Sie können aus den folgenden drei Agenten wählen:

    • AWS Distribution for OpenTelemetry (ADOT) Collector — Ein Open-Source-Collector, der optimiert und gesichert ist und auf einem standardisierten Open-Source-Agenten basiert. AWS OpenTelemetry Verwenden Sie den, ADOT Collector wenn Sie Sprache und herstellerunabhängigen standardisierten Code verwenden möchten, um mit einem Agenten zu interagieren, aber dennoch das Vertrauen in die AWS Sicherheit und Optimierung haben möchten, die in das Endprodukt integriert sind. Sie können es auch verwenden, ADOT um einen Endpunkt für verschiedene Agenten und Backends zu konfigurieren.

    • CloudWatchAmazon-Agent — Ein Open-Source-Collector, der Protokolle, Metriken und Traces integriert, alle Telemetriedaten unterstützt und diese ADOT Collector integriert hat.

    • X-Ray-Daemon — Ein Collector, der mit dem X-Ray SDK und den X-Ray-APIs arbeitet. Verwenden Sie den X-Ray-Daemon, wenn Sie älteren Code haben oder eine Anwendung haben, die eine benutzerdefinierte Ablaufverfolgung erfordert und daher die X-Ray-APIs verwenden muss. Der Daemon ist fürLinux, und Microsoft WindowsmacOS, verfügbar und auf AWS Elastic Beanstalk den Plattformen und enthalten. AWS Lambda

  2. Anschließend sendet der Agent diese Daten an ein Tracing-Framework, das entweder aus einer AWS API oder einem AWS SDK besteht, das auf einer API aufbaut. Dieses Framework interagiert mit anderen AWS Diensten. Die X-Ray-API bietet Zugriff auf alle X-Ray-Funktionen über das AWS SDK oder direkt überHTTPS. AWS Command Line Interface Verwenden Sie die X-Ray-API, wenn Sie eine Sprache verwenden oder eine Operation benötigen, die nicht von einem SDK unterstützt wird.

    Sie können die folgenden SDKs verwenden:

    • Das ADOT SDK — Verwenden Sie das ADOT SDK, um mit verschiedenen Agenten von Anbietern zu interagieren, die nicht mit AWS diesem Unternehmen verbunden sind. Das ADOT SDK unterstützt auch mehrere Backend-Dienste.

    • Das X-Ray SDK — Ein klassisches Produkt, das keine weiteren Funktionen oder Sprachen mehr hinzufügt. Verwenden Sie das X-Ray SDK, wenn Sie Ihren Anwendungscode nicht aktualisieren möchten.

    Wenn Sie ein X-Ray oder ein ADOT SDK verwenden, haben Sie in Kombination mit einem Agenten die folgenden Optionen:

    • Verwenden Sie X-Ray oder ADOT SDK mit einem CloudWatch Agenten — empfohlen.

    • Verwenden Sie das ADOT SDK mit einem ADOT Collector — empfohlen, wenn Sie herstellerunabhängige Software mit Sicherheits- und AWS Optimierungsebenen verwenden möchten.

    • Verwenden Sie das X-Ray SDK mit einem CloudWatch Agenten — Der CloudWatch Agent ist mit dem X-Ray SDK kompatibel.

    • Verwenden Sie das X-Ray-SDK mit dem X-Ray-Daemon — Verwenden Sie dies, wenn Sie das X-Ray-SDK weiterhin verwenden möchten.

  3. (Optional) Das Tracing-Framework kann mit anderen AWS Diensten, HTTP Servern, anderen Methoden und Abfragen interagieren. Einige AWS Dienste, die in X-Ray integriert werden können, umfassen Amazon EC2, Amazon SNS und API Gateway. Das SDK oder die API verfolgt die Trace-Daten während dieser Interaktionen.

    AWS Dienste, die in X-Ray integriert sind, können eingehenden Anfragen Tracing-Header hinzufügen, Trace-Daten an X-Ray senden oder einen Agenten zum Sammeln von Trace-Daten ausführen. AWS Lambda Kann beispielsweise Trace-Daten über Anfragen an Ihre Lambda-Funktionen senden.

    Weitere Informationen zu anderen Diensten, die mit X-Ray funktionieren, finden Sie unterIntegrieren Sie AWS X-Ray mit anderen AWS-Services.

  4. Sie können in der Konsole Daten zu Ihren Traces, Segmenten und Untersegmenten in einer grafischen Benutzeroberfläche (GUI) anzeigen. Sie können die folgenden Optionen verwenden:

    • https://console.aws.amazon.com/cloudwatch/ — Eine grafische Benutzeroberfläche, mit der Sie Traces, Logs und Metriken an einem zentralen Ort einsehen können. Die X-Ray-Servicemaps und die CloudWatch ServiceLens Legacy-Map werden in der X-Ray-Trace-Map in der CloudWatch Konsole kombiniert.

    • https://console.aws.amazon.com/xray/home — Eine grafische Benutzeroberfläche, in der Sie Informationen zu Ihren Traces einsehen können. Sie können sich Informationen anzeigen lassen, die Einblicke in Ihre Traces, eine Trace-Map, eine Service Map und Analysen beinhalten. AWS entwickelt dieses Konsolenerlebnis nicht mehr.

X-Ray verwendet Trace-Daten von AWS Ressourcen, mit denen Ihre Anwendung interagiert, um eine detaillierte Trace-Map zu erstellen. Die Trace-Map zeigt den Client, Ihren Frontend-Dienst und die Back-End-Dienste, die Ihr Frontend-Dienst aufruft, in einer einzigen Anfrage. Verwenden Sie die Trace-Map, um Engpässe, Latenzspitzen und andere Probleme zu identifizieren und so die Leistung Ihrer Anwendungen zu lösen oder zu verbessern.

X-Ray generiert außerdem eine Service-Map, die einen Gesamtüberblick darüber bietet, wie Ihre Anwendung mit Ihren Serviceknoten interagiert. Kanten in der Service Map verbinden die Serviceknoten. Sie zeigen, wie oft die Knoten miteinander kommunizieren und wie lange die Kommunikation dauert.

Die folgende Abbildung zeigt ein Beispiel für eine Service Map, die zeigt, wie Ihre Anwendung mit verschiedenen Komponenten interagiert. Sie können eine Service Map in der Konsole anzeigen. Das Bild zeigt eine Anwendung, die eine Anfrage von einem Client empfängt. Anschließend zeigt das Bild, wie die Anwendung mit zwei DynamoDB-Tabellen und Amazon SNS interagiert.

Die Trace-Map zeigt den Client, den Front-End-Service und die Back-End-Services, die Ihr Front-End-Service aufruft, um Anfragen zu verarbeiten und Daten zu speichern

Die folgende Abbildung zeigt ein Beispiel für die Daten, die in der Konsole für ein einzelnes Segment in einer Ablaufverfolgung verfügbar sind. Das Bild zeigt eine Zeitleiste, in der mehrere Segmente sowie die Startzeit und Dauer der einzelnen Segmente im Verhältnis zu den anderen aufgeführt sind. Das Bild zeigt auch den Segmentstatus und den HTTP-Antwortcode.

X-Ray zeigt detaillierte Informationen zu Anwendungsanfragen an, einschließlich Status, Dauer und HTTP-Antwortcode.

Konzepte

AWS X-Ray empfängt Daten von Diensten als Segmente. X-Ray gruppiert dann Segmente, die eine gemeinsame Anforderung haben, in Traces. X-Ray verarbeitet die Traces, um ein Service-Diagramm zu erstellen, das eine visuelle Darstellung Ihrer Anwendung bietet.

Segmente

Die Datenverarbeitungsressourcen, die Ihre Anwendungslogik ausführen, senden Daten zu ihrer Arbeit als Segment. Ein Segment enthält den Namen der Ressource, Details zu der Anforderung und Details zu den erledigten Aufgaben. Wenn zum Beispiel eine HTTP-Anforderung Ihre Anwendung erreicht, können Daten über Folgendes erfasst werden:

  • Der Host — Hostname, Alias oder IP-Adresse.

  • Die Anfrage — Methode, Client-Adresse, Pfad, Benutzeragent.

  • Die Antwort — Status, Inhalt.

  • Die geleistete Arbeit — Start- und Endzeiten, Untersegmente.

  • Auftretende ProblemeFehler, Störungen und Ausnahmen, einschließlich der automatischen Erfassung von Ausnahmestapeln.

Die folgende Abbildung zeigt ein Beispiel für Übersichtsinformationen, die zu einem Segment zurückgegeben wurden. Das Bild zeigt Informationen über eine ID, Start- und Endzeit, etwaige Fehler oder Störungen sowie den Anfrage- und Antwortcode einer HTTP-Anfrage:

Segmentdaten für eine Röntgenspur

Das Tracing-Framework, das aus SDKs oder APIs besteht, sammelt Informationen aus Anfrage- und Antwort-Headern, dem Code in Ihrer Anwendung und Metadaten über die AWS Ressourcen, auf denen Ihre Anwendung ausgeführt wird. Sie entscheiden, welche Daten X-Ray sammelt, indem Sie Ihre Anwendungskonfiguration oder Ihren Code ändern, um eingehende Anfragen, nachgelagerte Anfragen und AWS Dienste zu instrumentieren.

Weitergeleitete Anfragen

Wenn ein Load Balancer oder ein anderer Vermittler eine Anfrage an Ihre Anwendung weiterleitet, nimmt X-Ray die Client-IP aus dem X-Forwarded-For Header in der Anfrage und nicht aus der Quell-IP im IP-Paket. Die Client-IP, die für eine weitergeleitete Anfrage aufgezeichnet wird, kann gefälscht sein und sollte daher nicht als vertrauenswürdig eingestuft werden.

Sie können ein Tracing-Framework wie ein SDK oder eine API verwenden, um weitere Informationen, einschließlich Anmerkungen und Metadaten, aufzuzeichnen. Einzelheiten zur Struktur von Segmenten und Untersegmenten sowie zu aufgezeichneten Informationen finden Sie unter. Dokumente für Röntgensegmente Segmentdokumente können bis zu 64 kB groß sein.

Untersegmente

Sie können ein Segment in Untersegmente unterteilen. Untersegmente bieten detailliertere Zeitinformationen und Details zu Downstream-Aufrufen, die Ihre Anwendung zur Bearbeitung der ursprünglichen Anfrage durchführt. Ein Untersegment enthält zusätzliche Details zu einem Aufruf einer AWS-Service, einer externen HTTP-API oder einer SQL-Datenbank. Sie können auch Untersegmente definieren, um bestimmte Funktionen oder Codezeilen in Ihrer Anwendung zu instrumentieren.

Untersegmente bieten detailliertere Informationen als Segmente

X-Ray verwendet Untersegmente, um abgeleitete Segmente und Downstream-Knoten auf der Trace-Map für Services zu generieren, die keine eigenen Segmente senden, wie Amazon DynamoDB. Mithilfe von Untersegmenten können Sie alle Ihre Downstream-Abhängigkeiten sehen, auch wenn die Abhängigkeiten das Tracing nicht unterstützen oder extern sind. AWS

Untersegmente geben die Ansicht eines nachgelagerten Aufrufs Ihrer Anwendung als Client wieder. Wenn der Downstream-Service ebenfalls instrumentiert ist, ersetzt sein Segment das abgeleitete Segment aus dem Untersegment des Upstream-Clients. Der Knoten im Service-Graph verwendet Informationen aus dem Segment des Services, sofern verfügbar. Die Kante zwischen den beiden Knoten verwendet das Untersegment des Upstream-Dienstes.

Wenn Sie DynamoDB beispielsweise mit einem instrumentierten AWS SDK-Client aufrufen, zeichnet das X-Ray-SDK ein Untersegment für diesen Aufruf auf. DynamoDB sendet kein Segment, daher enthält das Untersegment Informationen zu folgenden Themen:

  • Das abgeleitete Segment in der Ablaufverfolgung.

  • Der DynamoDB; -Knoten im Service-Graph.

  • Der Vorteil zwischen Ihrem Service und DynamoDB.

Das folgende Diagramm zeigt die Service-Map für eine Beispielanwendung. In der Abbildung stellt der Client eine Anfrage an eine Scorekeep-Beispielanwendung. Die Scorekeep-Anwendung ruft DynamoDB zweimal auf. Eine Kante in der Service Map steht für jeden dieser Aufrufe. Wählen Sie einen Edge aus, um den Integritätsstatus, die Anzahl und die Häufigkeit von Aufrufen an eine DynamoDB-Tabelle zu sehen. Die folgende Abbildung zeigt Spuren, die einer nach Reaktionszeit gefilterten Kante entsprechen.

Ein Edge verbindet eine instrumentierte Anwendung und eine DynamoDB-Tabelle.

Wenn Sie einen anderen instrumentierten Dienst mit einer instrumentierten Anwendung aufrufen, sendet der nachgelagerte Dienst sein eigenes Segment. Dieses Segment zeichnet seine Ansicht desselben Anrufs auf, den der vorgelagerte Dienst in einem Untersegment aufgezeichnet hat. Im Dienstdiagramm enthalten die Knoten beider Dienste Timing- und Fehlerinformationen aus ihren Segmenten. Die Kante zwischen ihnen enthält Informationen aus dem Untersegment des Upstream-Service. Der nachgelagerte Dienst zeichnet auf, wann er die Bearbeitung der Anfrage gestartet und beendet hat. Der Upstream-Dienst zeichnet die Roundtrip-Latenz auf, einschließlich der Zeit, die die Anfrage für die Übertragung zwischen den beiden Diensten aufgewendet hat.

Die folgende Abbildung zeigt nach der Antwortzeit gefilterte Trace-Informationen von einer Kante, die einer Upstream-Lambda-Funktion entspricht.

Die Antwortzeit wird als Wert im Zeitverlauf für eine Anfrage von einer instrumentierten Anwendung angezeigt, die eine andere instrumentierte Anwendung aufruft.

Service-Diagramm

X-Ray verwendet die Daten, die Ihre Anwendung sendet, um ein Service-Diagramm zu generieren. Jede AWS Ressource, die Daten an X-Ray sendet, wird im Diagramm als Dienstknoten angezeigt. Edges verbinden die Dienste, die zusammenarbeiten, um Anfragen zu bearbeiten, verbinden Clients mit Ihrer Anwendung und verbinden Ihre Anwendung mit den nachgelagerten Diensten und Ressourcen, die sie verwendet.

Namen der Dienste

Der eines Segments name sollte mit dem Domainnamen oder dem logischen Namen des Dienstes übereinstimmen, der das Segment generiert. Dies wird jedoch nicht erzwungen. Jede Anwendung, die über die entsprechende Berechtigung verfügt, PutTraceSegmentskann Segmente mit einem beliebigen Namen senden.

Eine Service-Graphik ist ein JSON-Dokument, das Informationen zu den Services und Ressourcen enthält, aus denen Ihre Anwendung besteht. Die X-Ray-Konsole verwendet den Service Graph, um eine Visualisierung oder Service Map zu generieren.

Die folgende Abbildung zeigt eine Service-Map. In der Service-Map wird die Beziehung zwischen der Anfrage des Clients an Ihre Anwendung und den Diensten angezeigt, mit denen Ihre Anwendung interagiert, um die Anfrage zu bearbeiten. In der folgenden Abbildung interagiert eine Scorekeep-Beispielanwendung mit zwei DynamoDB-Tabellen und Amazon SNS.

Trace-Karte

In einer verteilten Anwendung kombiniert X-Ray Knoten aller Dienste, die Anfragen mit derselben Trace-ID verarbeiten, zu einem einzigen Service-Graphen. Der erste Dienst, mit dem die Anfrage interagiert, fügt einen Tracing-Header hinzu, der zwischen dem Frontend und den von ihm aufgerufenen Diensten weitergegeben wird.

Beispielsweise führt Scorekeep eine Web-API aus, die eine AWS Lambda Funktion aufruft, um einen zufälligen Namen zu generieren. Anschließend generiert das X-Ray-SDK die Trace-ID und verfolgt Aufrufe der Lambda-Funktion. AWS Lambda übergibt die Ablaufverfolgungsdaten und die Trace-ID an die Lambda-Funktion. Das X-Ray SDK verwendet auch dieselbe Trace-ID, um Daten an einen Agenten oder Collector zu senden. Daher werden Knoten für die API, den AWS Lambda Service und die Lambda-Funktion alle als separate, aber verbundene Knoten auf der Trace-Map angezeigt.

Die Daten des Service-Diagramms werden 30 Tage lang aufbewahrt.

Ablaufverfolgungen

Eine Ablaufverfolgung sammelt alle von einer einzelnen Anforderung generierten Segmente. Der Trace verwendet eine Trace-ID, um den Pfad einer Anfrage durch Ihre Anwendung zu verfolgen. Bei dieser Anfrage handelt es sich in der Regel um eine HTTP-GET- oder POST-Anforderung, die einen Load Balancer durchläuft, mit Ihrem Anwendungscode interagiert und Downstream-Aufrufe an andere AWS Dienste oder externe Web-APIs generiert. Der erste unterstützte Dienst, mit dem die HTTP-Anfrage interagiert, fügt der Anfrage einen Trace-ID-Header hinzu. Der Dienst leitet die Trace-ID anschließend weiter, um Latenz, Disposition und andere Anforderungsdaten nachzuverfolgen.

Die folgende Abbildung zeigt ein Beispiel für eine Anwendung, die eine HTTP Anfrage bearbeitet. Die Trace-Zusammenfassung enthält den HTTP Antwortcode, den Zeitpunkt, zu dem die Anfrage bearbeitet wurde, und wie lange es her ist, dass die Anwendung die Anfrage bearbeitet hat. Die folgende Abbildung zeigt auch eine Zeitleiste für jedes Trace-Segment. Die Zeitleiste zeigt den Status, den HTTP Antwortcode und die Zeit, die das Segment bis zur Fertigstellung benötigt hat. In einem Diagramm werden Dauer, Start- und Endzeit jedes Segments im Trace im Vergleich zu den anderen Segmenten angezeigt.

Timeline-Ansicht einer Ablaufverfolgung, die alle von einer einzelnen Anforderungen generierten Segmente sammelt

Weitere Informationen darüber, wie X-Ray-Rechnungen die Abholung verfolgen, finden Sie unter AWS X-Ray Preise für Informationen darüber, wie X-Ray-Nachverfolgungen abgerechnet werden. Trace-Daten werden 30 Tage lang aufbewahrt.

Sampling

Das X-Ray SDK verwendet einen Sampling-Algorithmus, um eine effiziente Nachverfolgung zu gewährleisten und eine repräsentative Stichprobe der Anfragen bereitzustellen, die Ihre Anwendung bedient. Dieser Algorithmus bestimmt, welche Anfragen verfolgt werden. Standardmäßig zeichnet das X-Ray-SDK die erste Anfrage auf, die zu Beginn jeder Sekunde empfangen wird, und fünf Prozent aller weiteren Anfragen.

Um zu vermeiden, dass bei den ersten Schritten Servicegebühren anfallen, ist die Standard-Samplingrate konservativ. Sie können X-Ray so konfigurieren, dass die standardmäßige Abtastrate geändert wird, und zusätzliche Regeln konfigurieren, die das Sampling auf der Grundlage der Eigenschaften des Dienstes oder der Anfrage anwenden.

Möglicherweise möchten Sie das Sampling deaktivieren und alle Anfragen für Anrufe verfolgen, die den Status ändern oder Benutzer oder Transaktionen verarbeiten. Für Anrufe mit hohem Volumen, die nur lesbar sind, wie z. B. Hintergrundabfragen, Integritätsprüfungen oder Verbindungswartung.

Weitere Informationen finden Sie unter Konfigurieren Sie Stichprobenregeln und in der API. CreateSamplingRule

Ablaufverfolgungs-Header

Alle Anfragen werden bis zu einer Mindestanzahl, die Sie konfigurieren können, nachverfolgt. Sobald dieses Minimum erreicht ist, verfolgt X-Ray nur einen bestimmten Prozentsatz der Anfragen, um zusätzliche Kosten zu vermeiden. X-Ray fügt HTTP-Anfragen in Tracing-Headern, die mit beginnen, die Sampling-Entscheidung und die Trace-ID hinzu. X-Amzn-Trace-Id X-Ray fügt diese Header hinzu, wenn eine Anfrage mit dem ersten AWS Dienst interagiert, der in X-Ray integriert ist. Das X-Ray SDK liest diese Header und nimmt sie in die Antwort auf.

Beispiel Ablaufverfolgungs-Header mit Stammablaufverfolgungs-ID und Samplingentscheidung
X-Amzn-Trace-Id: Root=1-5759e988-bd862e3fe1be46a994272793;Sampled=1
Sicherheit des Ablaufverfolgungs-Headers

Ein Tracing-Header kann vom X-Ray SDK AWS-Service, einer oder der Client-Anfrage stammen. Ihre Anwendung kann X-Amzn-Trace-Id aus eingehenden Anforderungen entfernen, um Probleme zu vermeiden, die von Benutzern verursacht werden, die ihren Anforderungen Ablaufverfolgungs-IDs oder Samplingentscheidungen hinzufügen.

Der Ablaufverfolgungs-Header kann auch eine übergeordnete Segment-ID enthalten, wenn die Anforderung von einer instrumentierten Anwendung stammte. Wenn Ihre Anwendung beispielsweise eine Downstream-HTTP-Web-API mit einem instrumentierten HTTP-Client aufruft, fügt das X-Ray-SDK die Segment-ID für die ursprüngliche Anfrage zum Tracing-Header der Downstream-Anfrage hinzu. Eine instrumentierte Anwendung, die die Downstream-Anfrage bedient, verwendet die ID des übergeordneten Segments, um die beiden Anfragen zu verbinden.

Beispiel Ablaufverfolgungs-Header mit Stammablaufverfolgungs-ID, übergeordnete Segment-ID und Samplingentscheidung
X-Amzn-Trace-Id: Root=1-5759e988-bd862e3fe1be46a994272793;Parent=53995c3f42cd8ad8;Sampled=1

Lambda oder andere AWS-Services könnten einen Teil eines Headers, der mit 1 beginnt, Lineage als Teil ihrer Verarbeitungsmechanismen anhängen. Sie sollten den angehängten Teil des Trace-Headers nicht direkt verwenden.

Beispiel Tracing-Header mit Lineage
X-Amzn-Trace-Id: Root=1-5759e988-bd862e3fe1be46a994272793;Sampled=1;Lineage=a87bd80c:1|68fd508a:5|c512fbe3:2

Filterausdrücke

Selbst wenn Sie nur eine kleine Teilmenge von Daten abfragen, kann eine komplexe Anwendung viele Trace-Daten generieren. Verwenden Sie Filterausdrücke, um bestimmte Traces zu finden, einschließlich solcher für einzelne Anfragen, bestimmte Pfade oder Benutzer.

Die folgende Abbildung zeigt ein Textfeld in der X-Ray-Konsole, mit dem Sie nach einer von Ihnen definierten Gruppe filtern können. Weitere Informationen zu Gruppen finden Sie im folgenden Abschnitt Gruppen.

Wählen Sie einen Trace aus, um Details zu einzelnen Anfragen anzuzeigen

Gruppen

Sie können eine Gruppe innerhalb eines Filterausdrucks verwenden, um die Menge der Trace-Daten zu reduzieren und sich auf Daten zu konzentrieren, die den Gruppenkriterien entsprechen.

Verwenden Sie eine Gruppe, um Servicegraphen, Trace-Zusammenfassungen und CloudWatch Kennzahlen zu generieren, die für diese Gruppe spezifisch sind. Sie können mit dem Namen oder mit dem Amazon Resource Name (ARN) anrufen. X-Ray überprüft eingehende Traces anhand des Gruppenfilterausdrucks, während sie im X-Ray-Dienst gespeichert werden. CloudWatchveröffentlicht jede Minute Metriken für Traces, die den Gruppenkriterien entsprechen.

Durch das Aktualisieren des Filterausdrucks einer Gruppe werden die bereits aufgezeichneten Daten nicht geändert. Die Aktualisierung gilt nur für nachfolgende Ablaufverfolgungen. Dies kann dazu führen, dass im Diagramm neue und alte Ausdrücke zusammengeführt werden. Um zu vermeiden, dass nicht verbundene Gruppen in einem einzigen Diagramm zusammengeführt werden, löschen Sie die aktuelle Gruppe und https://docs.aws.amazon.com/xray/latest/api/API_CreateGroup.html erstellen Sie eine neue.

Anmerkung

Die Abrechnung für Gruppen basiert auf der Anzahl der abgerufenen Traces, die dem Filterausdruck entsprechen. Weitere Informationen finden Sie unter AWS X-Ray Preise.

Weitere Informationen zu Gruppen finden Sie unterGruppen konfigurieren.

Anmerkungen und Metadaten

Wenn Sie Ihre Anwendung instrumentieren, zeichnet das X-Ray SDK Informationen über eingehende und ausgehende Anfragen auf. Das SDK zeichnet auch Informationen über die verwendeten AWS Ressourcen und die Anwendung selbst auf. Sie können dem Segmentdokument weitere Informationen hinzufügen, wie etwa Anmerkungen und Metadaten. Anmerkungen und Metadaten werden auf der Trace-Ebene kombiniert. Sie können zu jedem Segment oder Untersegment hinzugefügt werden.

Anmerkungen sind Schlüssel-Wert-Paare, die für die Verwendung mit Filterausdrücken indexiert sind. Berücksichtigen Sie Anmerkungen, um Daten zur Gruppierung von Ablaufverfolgungen in der Konsole zu verwenden, oder wenn Sie die GetTraceSummaries-API aufrufen.

X-Ray indexiert bis zu 50 Anmerkungen pro Spur.

Metadaten sind Schlüssel-Wert-Paare mit Werten beliebigen Typs, einschließlich Objekten und Listen, die nicht indexiert sind. Verwenden Sie Metadaten zum Aufzeichnen von Daten in der Ablaufverfolgung, die nicht zur Ablaufsuche erforderlich sind.

Sie können Anmerkungen und Metadaten im Fenster mit den Segment- oder Untersegmentdetails auf der Seite mit den Trace-Details in der Konsole anzeigen. CloudWatch Weitere Informationen finden Sie unter Traces und Trace-Details anzeigen unter. Erkunden Sie die X-Ray-Konsole

Fehler und Ausnahmen

X-Ray verfolgt Fehler in Ihrem Anwendungscode und solche, die von nachgelagerten Diensten zurückgegeben werden. X-Ray verfolgt die folgenden HTTP Antwortcodes von Anfragen:

  • Error— Client-Fehler (Fehler der Serie 400) deuten darauf hin, dass der Server die Anfrage des Clients nicht verstehen oder verarbeiten konnte, da die Anfrage selbst einen Fehler enthielt. Diese Fehler können durch Syntaxfehler, fehlende Informationen oder einen fehlerhaften Anfragetext verursacht werden.

  • Fault— Serverfehler (Fehler der Serie 500) deuten darauf hin, dass der Server eine gültige Anfrage aufgrund eines Problems mit dem Server selbst nicht verarbeiten konnte. Diese Fehler können durch Probleme verursacht werden, zu denen Software- oder Hardwarefehler oder Ressourcenbeschränkungen des Servers gehören.

  • Throttle— Drosselungsfehler (429 Too Many Requests) sind eine bestimmte Art von Client-Fehlern, die auftreten, wenn ein Client über einen bestimmten Zeitraum zu viele Anfragen an einen Server oder eine API sendet.

Wenn eine Ausnahme auftritt, während Ihre Anwendung eine instrumentierte Anfrage bearbeitet, zeichnet das X-Ray-SDK Details zu der Ausnahme auf, einschließlich der Stack-Trace-ID, falls verfügbar. Sie können Ausnahmen unter Segmentdetails in der X-Ray-Konsole anzeigen.