Erste Schritte

Probieren Sie AWS X-Ray kostenlos aus

Im kostenlosen Nutzungskontingent für AWS sind monatlich 100 000 aufgezeichnete Ablaufverfolgungen sowie 1 000 000 abgerufene oder gescannte Ablaufverfolgungen enthalten.

Details zum kostenlosen Nutzungskontingent für AWS anzeigen »

F: Was ist AWS X-Ray?

AWS X-Ray hilft Entwicklern dabei verteilte Anwendungen, die z. B. über eine MicroServices-Architektur verfügen, zu analysieren und zu debuggen. Mit X-Ray verstehen Sie, wie die Anwendung und die ihr zugrunde liegenden Services Prozesse ausführen, um die Ursachen von Leistungsproblemen und Fehlern zu identifizieren und zu beheben. X-Ray bietet eine End-to-End-Ansicht der Anforderungen auf Ihrem Weg durch Ihre Anwendungon und zeigt eine Übersicht der Komponenten, die Ihren Anwendungen zugrundeliegen. Sie können mit X-Ray beide Anwendungen in der Entwicklung und in der Produktion analysieren, von einfachen dreistufigen Anwendungen bis hin zu komplexen Microservices-Anwendungen, die aus Tausenden von Services bestehen.

F: Weshalb sollte ich X-Ray verwenden?

Wenn Sie aktuell verteilte Anwendungen erstellen und ausführen, müssen Sie sich auf einen Prozess pro Service oder Pro Ressource verlassen, um Anforderungen für Ihre Anwendung zu verfolgen, während dieser verschiedene Komponenten durchläuft, aus denen Ihre Anwendung besteht. Dieses Problem wird durch die verschiedenen Protokollformate und Speichermedien in den unterschiedlichen Frameworks, Services und Ressourcen weiter verkompliziert, die Ihre Anwendung ausführt oder verwendet. Auf diese Weise ist es schwierig, die verschiedenen Datenteile in Beziehung zu setzen und ein End-to-End-Bild einer Anforderung zu erstellen, das vom Zeitpunkt des Ursprungs beim Endbenutzer oder Service bis zum Zeitpunkt reicht, an dem Ihre Anwendung eine Antwort zurückgibt. X-Ray bietet ein benutzerzentriertes Modell anstatt eines servicezentrierten oder ressourcenzentrierten Modells zur Erfassung von Daten im Bezug auf Anforderungen, die an Ihre Anwendung gestellt werden. Mit diesem Modell können Sie ein benutzerzentriertes Bild von Anforderungen erstellen, während diese sich durch Services und Ressourcen bewegen. Durch Korrelieren und Zusammenfassen von Daten in Ihrem Namen ermöglicht X-Ray es Ihnen, sich auf die Verbesserung der Erfahrung für die Endbenutzer Ihrer Anwendung zu konzentrieren.

F: Was kann ich mit X-Ray tun?

X-Ray erleichtert Ihnen folgende Aufgaben:

  • Erstellen einer Service-Map – Durch Nachverfolgen der Anforderungen an Ihre Anwendung kann X-Ray eine Map der Services erstellen, die von Ihrer Anwendung genutzt werden. Auf diese Weise erhalten Sie eine Ansicht der Verbindungen unter den Services in Ihrer Anwendung und können eine Abhängigkeitsstruktur erstellen, Latenzen oder Fehler bei der Arbeit mit verschiedenen AWS Verfügbarkeitszonen oder -Regionen erkennen, Services ins Visier nehmen, die nicht wie erwartet arbeiten, usw. 
  • Erkennen von Problemen und Fehlern – X-Ray kann Probleme oder Fehler in Ihrem Anwendungscode automatisch hervorheben, indem es den Antwortcode für jede Anforderung an Ihre Anwendung analysiert. Dies ermöglicht eine problemlose Fehlerbehebung bei Anwendungscodes, ohne dass das Problem oder der Fehler reproduziert werden muss.
  • Erstellen Ihrer eigenen Analyse- und Visualisierungs-Apps – X-Ray bietet einen Satz von Abfrage-APIs, mit denen Sie Ihre eigene Analyse- und Visualisierungs-Apps erstellen können, welche die Daten verwenden, die von X-Ray aufgezeichnet werden.

F: Was ist ein Trace?

Ein X-Ray-Trace ist ein Satz von Datenpunkten mit derselben Trace-ID. Wenn ein Kunde zum Beispiel eine Anforderung an Ihre Anwendung stellt, wird dieser Anforderung eine eindeutige Trace-ID zugewiesen. Wenn die Anforderung die Services in Ihrer Anwendung durchläuft, übermitteln die Services die Informationen zu dieser Anforderung unter Verwendung dieser eindeutigen Trace-ID an X-Ray zurück. Die von jedem Service in Ihrer Anwendung an X-Ray zurückgeleitete Informationen ist ein Segment und ein Trace ist eine Sammlung von Segmenten.

F: Was ist ein Segment?

Ein X-Ray-Segment verkapselt alle Datenpunkte für eine einzelne Komponente (zum Beispiel einen Autorisierungsservice) der verteilten Anwendung. Segments umfassen systemdefinierte und benutzerdefinierte Daten in Form von Annotationen und bestehen aus einem oder mehreren Teilsegmenten, die Remote-Aufrufe von dem Service repräsentieren. Wenn Ihre Anwendung zum Beispiel als Antwort auf eine Anforderung einen Aufruf an eine Datenbank übermittelt, erstellt sie ein Segment für diese Anforderung, wobei ein Teilsegment den Datenbankaufruf und sein Ergebnis darstellt. Das Teilsegment kann folgende Daten enthalten: Abfrage, verwendete Tabelle, Zeitstempel und Fehlerstatus.

F: Was ist eine Annotation?

Bei einer X-Ray-Annotation handelt es sich um systemdefinierte oder benutzerdefinierte Daten, die mit einem Segment verknüpft sind. Ein Segment kann mehree Annotationen enthalten. Systemdefinierte Annotations umfassen Daten, die von AWS-Services zum Segment hinzugefügt wurden, während es sich bei benutzerdefinierten Annotations um Metadaten handelt, die von einem Entwickler zu einem Segment hinzugefügt wurden. So kann ein von Ihrer Anwendung erstelltes Segment automatisch mit Regionsdaten für AWS-Serviceaufrufe versehen werden, während Sie sich möglicherweise entscheiden, die Regionsdaten für Nicht-AWS-Services selbst hinzuzufügen.

F: Was sind Fehler?

X-Ray-Fehler sind System-Annotationen, die für einen Aufruf mit einem Segment verknüpft sind, der zu einer Fehlerantwort führt. Der Fehler umfasst die Fehlermeldung, den Stack-Trace und weitere Informationen (zum Beispiel, Versions- oder Commit-ID) zur Zuordnung des Fehlers zu einer Quelldatei.

F: Was ist Sampling?

Zur Bereitstellung einer leistungsfähigen und kostengünstigen Erfahrung erfasst X-Ray nicht für jede Anforderung Daten, die an eine Anwendung gesendet wird. Stattdessen werden Daten für eine statistisch signifikante Anzahl von Anforderungen erfasst. X-Ray sollte nicht als Audit oder Compliance-Tool verwendet werden, da es nicht für die Vollständigkeit der Daten garantieren kann.

F: Was ist der X-Ray-Agent?

Der X-Ray-Agent erfasst Daten aus Protokolldateien und sendet diese zur Zusammenfassung, Analyse und Speicherung an den X-Ray-Service. Der Agent erleichtert Ihnen das Versenden von Daten an den X-Ray-Service, anstatt die APIs direkt zu verwenden, und ist für Amazon Linux AMI, Red Hat Enterprise Linux (RHEL) und Windows Server 2012 R2 oder spätere Betriebssysteme verfügbar.


F: Was sind die ersten Schritte mit X-Ray?

Sie können mit X-Ray starten, indem Sie die X-Ray-Sprache SDK in Ihre Anwendung integrieren und den X-Ray-Agenten installieren. Weitere Informationen finden Sie im X-Ray User Guide.

F: Welche Arten von Anwendungen kann ich mit X-Ray verwenden?

X-Ray kann mit verteilten Anwendungen jeder Größe verwendet werden, um sowohl synchrone Anforderungen als auch asynchrone Ereignisse zu verfolgen und Fehler zu beheben. So kann X-Ray beispielsweise verwendet werden, um Webanforderungen zu verfolgen, die an eine Webanwendung gerichtet wurden, oder asynchrone Ereignisse zu verfolgen, die Amazon SQS-Warteschlangen verwenden.

F: Welche Arten von AWS-Services kann ich mit X-Ray verwenden?

Sie können X-Ray mit Anwendungen verwenden, die unter EC2, ECS, Lambda und Elastic Beanstalk ausgeführt werden. Zusätzlich erfasst das X-Ray-SDK automatisch Metadaten für API-Aufrufe an AWS-Services, welche das AWS SDK verwenden. Außerdem bietet das X-Ray-SDK Add-ons für MySQL- und PostgreSQL-Treiber.

F: Welche Code-Änderungen muss ich an meiner Anwendung vornehmen, um X-Ray zu verwenden?

Wenn Sie Elastic Beanstalk verwenden, benötigen Sie die sprachenspezifischen X-Ray-Bibliotheken in Ihrem Anwendungscode. Für Anwendungen, die unter anderen AWS-Services ausgeführt werden, zum Beispiel EC2 oder ECS, müssen Sie den X-Ray-Agenten installieren und Ihren Anwendungscode instrumentalisieren.

F: Stellt X-Ray eine API zur Verfügung?

Ja, X-Ray bietet einen Satz von APIs zur Integration von Anforderungsdaten, zum Abfragen von Traces und zum Konfigurieren des Service. Sie können die X-Ray-API zur Erstellung von Analysen und zur Visualisierung von Anwendungen zusätzlich zu den von X-Ray bereitgestellten Anwendungen verwenden.


F: In welchen Regionen ist X-Ray verfügbar?

Nähere Informationen finden Sie im Abschnitt Regionale Produkte und Services.

F: Kann ich mit X-Ray Anforderungen von Anwendungen oder Services verfolgen, die über mehrere Regionen verteilt sind?

Ja, Sie können mit X-Ray Anforderungen von Anwendungen oder Services verfolgen, die über mehrere Regionen verteilt sind. Die X-Ray-Daten sind lokal in der verarbeiteten Region gespeichert, jedoch mit ausreichend Informationen, damit Client-Anwendungen in der Lage sind, die Daten zu kombinieren und eine globale Ansicht der Traces bereitzustellen. Die Region-Annotation für AWS-Services werden automatisch hinzugefügt, jedoch müssen Kunden benutzerdefinierte Services einsetzen, um die regionale Annotation hinzuzufügen und den regionsübergreifenden Support zu verwenden.


F: Wie lange dauert es, bis Trace-Daten in X-Ray verfügbar sind?

An X-Ray gesendete Trace-Daten stehen im Allgemeinen innerhalb von 30 Sekunden nach Eingang beim Service zum Abrufen und Filtern zur Verfügung.

F: Wie lange zurück kann ich die Trace-Daten abfragen? Wie lange werden Trace-Daten in X-Ray gespeichert?

X-Ray speichert Daten für die letzten 30 Tage. Auf diese Weise können Sie Trace-Daten abfragen, die 30 Tage zurückliegen.

F: Warum werden manchmal Teil-Traces angezeigt?

X-Ray versucht nach besten Kräften, vollständige Trace-Informationen anzuzeigen. In einigen Situationen (bei Konnektivitätsproblemen, Verzögerungen beim Empfangen der Segmente usw.) ist es möglich, dass von den X-Ray-APIs bereitgestellte Trace-Informationen nur teilweise vorhanden sind. In solchen Fällen kennzeichnet X-Ray Traces als unvollständig oder teilweise vorhanden.

F: Meine Anwendungskomponenten werden in ihren eigenen AWS-Konten ausgeführt. Kann ich mit X-Ray Daten von verschiedenen AWS-Konten erfassen?

Ja, der X-Ray-Agent kann eine Rolle annehmen, um Daten in einem anderen Konto als dem zu veröffentlichen, in dem es ausgeführt wird. Auf diese Weise können Sie Daten von verschiedenen Komponenten Ihrer Anwendung in einem zentralen Konto veröffentlichen.