Fehlerbehebung für 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.

Fehlerbehebung für AWS X-Ray

In diesem Thema werden häufige Fehler und Probleme aufgeführt, die bei der Verwendung der X-Ray-API, -Konsole oder -SDKs auftreten können. Wenn Sie auf ein Problem stoßen, das hier nicht aufgeführt ist, können Sie die Schaltfläche Feedback auf dieser Seite verwenden, um es zu melden.

A-Ray-SDK SDK for Java

Fehler: Ausnahme im Thread „Thread-1" com.amazonaws.xray.exceptions.SegmentNotFoundException: Beginnen mit Untersegment „AmazonSNS“ fehlgeschlagen: Segment wurde nicht gefunden.

Dieser Fehler gibt an, dass das X-Ray-SDK versucht hat, einen ausgehenden Aufruf von aufzuzeichnenAWS, konnte aber kein offenes Segment finden. Dies kann in folgenden Situationen auftreten:

  • Ein Servletfilter ist nicht konfiguriert— Das X-Ray-SDK erstellt Segmente für eingehende Anfragen mit einem Filter mit dem NamenAWSXRayServletFilteraus. Konfigurieren Sie einen Servlet-Filter, um eingehende Anfragen zu instrumentieren.

  • Sie verwenden instrumentierte Clients außerhalb des Servlet-Codes- Wenn Sie einen instrumentierten Client für Aufrufe im Startup-Code oder einem anderen Code verwenden, der nicht als Reaktion auf eine eingehende Anfrage ausgeführt wird, müssen Sie manuell ein Segment erstellen. Beispiele finden Sie unter Instrumentieren von Startup-Code.

  • Sie verwenden instrumentierte Clients in Auftragnehmer-Threads— Beim Erstellen eines neuen Threads verliert der X-Ray-Ray-Recorder seine Referenz zum offenen Segment. Sie können die Methoden getTraceEntity und setTraceEntity verwenden, um eine Referenz zum aktuellen Segment oder Untersegment zu erhalten (Entity) und sie innerhalb des Threads wieder an den Recorder zu übergeben. Ein Beispiel finden Sie unter Verwenden instrumentierter Clients in Auftragnehmer-Threads.

A-Ray-SDK für Node.js

Problem: CLS funktioniert nicht mit Sequelize

Übergeben Sie das X-Ray-SDK for Node.js Namespace mitcls-Methode.

var AWSXRay = require('aws-xray-sdk'); const Sequelize = require('sequelize'); Sequelize.cls = AWSXRay.getNamespace(); const sequelize = new Sequelize('database', 'username', 'password');

Problem: CLS funktioniert nicht mit Bluebird

Verwenden Sie cls-bluebird, damit Bluebird mit CLS funktioniert.

var AWSXRay = require('aws-xray-sdk'); var Promise = require('bluebird'); var clsBluebird = require('cls-bluebird'); clsBluebird(AWSXRay.getNamespace());

Der X-Ray-Daemon

Problem: Der Daemon verwendet die falschen Anmeldeinformationen

Der Daemon verwendet dasAWSSDK zum Laden von Anmeldeinformationen. Wenn Sie Anmeldeinformationen mit mehreren Methoden bereitstellen, wird die Methode mit der höchsten Priorität verwendet. Weitere Informationen finden Sie unter Ausführen des Daemons.