Risoluzione dei problemi AWS X-Ray - AWS X-Ray

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei problemi AWS X-Ray

Questo argomento elenca gli errori e i problemi più comuni che potresti riscontrare durante l'utilizzo dell'API X-Ray, della console o degli SDK. Se scopri un problema che non è elencato qui di seguito, puoi utilizzare il pulsante Feedback in questa pagina per segnalarlo.

Mappa di tracciamento a raggi X e pagine con i dettagli della traccia

Le seguenti sezioni possono essere utili in caso di problemi con l'utilizzo della mappa di tracciamento a raggi X e della pagina dei dettagli della traccia:

Non vedo tutti i miei registri CloudWatch

La modalità di configurazione dei log in modo che vengano visualizzati nella mappa di tracciamento a raggi X e nelle pagine dei dettagli della traccia dipende dal servizio.

  • I log del gateway API vengono visualizzati se la registrazione è attivata in API Gateway.

Non tutti i nodi della mappa dei servizi supportano la visualizzazione dei log associati. Visualizza i log per i seguenti tipi di nodi:

  • Contesto Lambda

  • Funzione Lambda

  • Fase API Gateway

  • Cluster Amazon ECS

  • Istanza Amazon ECS

  • Servizio Amazon ECS

  • Attività di Amazon ECS

  • Cluster Amazon EKS

  • Spazio dei nomi Amazon EKS

  • Nodo Amazon EKS

  • Pod Amazon EKS

  • Servizio Amazon EKS

Non vedo tutti i miei allarmi sulla mappa di tracciamento a raggi X

La mappa di tracciamento a raggi X mostra solo l'icona di avviso per un nodo se gli allarmi associati a quel nodo sono nello stato ALARM.

La mappa di traccia associa gli allarmi ai nodi utilizzando la seguente logica:

  • Se il nodo rappresenta un AWS servizio, tutti gli allarmi con lo spazio dei nomi associato a quel servizio sono associati al nodo. Ad esempio, un nodo di tipo C AWS::Kinesis è collegato a tutti gli allarmi basati sulle metriche del namespace. CloudWatch AWS/Kinesis

  • Se il nodo rappresenta una AWS risorsa, gli allarmi su quella risorsa specifica sono collegati. Ad esempio, un nodo di tipo AWS::DynamoDB::Table con il nome «MyTable» è collegato a tutti gli allarmi basati su una metrica con lo spazio dei nomi AWS/DynamoDB e con la dimensione impostata su. TableName MyTable

  • Se il nodo è di tipo sconosciuto, identificato da un bordo tratteggiato attorno al nome, a tale nodo non vengono associati allarmi.

Non vedo alcune AWS risorse sulla mappa di tracciamento

Non tutte le AWS risorse sono rappresentate da un nodo dedicato. Alcuni AWS servizi sono rappresentati da un singolo nodo per tutte le richieste al servizio. I seguenti tipi di risorse vengono visualizzati con un nodo per risorsa:

  • AWS::DynamoDB::Table

  • AWS::Lambda::Function

    Le funzioni Lambda sono rappresentate da due nodi, uno per il contenitore Lambda e uno per la funzione. Questo aiuta a identificare i problemi di avvio a freddo con le funzioni Lambda. I nodi del container Lambda sono associati ad allarmi e pannelli di controllo allo stesso modo dei nodi funzione Lambda.

  • AWS::ApiGateway::Stage

  • AWS::SQS::Queue

  • AWS::SNS::Topic

Ci sono troppi nodi sulla mappa di traccia

Utilizza i gruppi X-Ray per suddividere la mappa in più mappe. Per ulteriori informazioni, consulta Utilizzo delle espressioni filtro con i gruppi.

X-Ray SDK per Java

Errore: eccezione nel thread «Thread-1" com.amazonaws.xray.exceptions. SegmentNotFoundException: Impossibile iniziare il sottosegmento denominato 'AmazonSNS': il segmento non può essere trovato.

Questo errore indica che l'SDK X-Ray ha tentato di registrare una chiamata in uscita verso AWS, ma non è riuscito a trovare un segmento aperto. Ciò può verificarsi nelle seguenti situazioni:

  • Un filtro servlet non è configurato: l'SDK X-Ray crea segmenti per le richieste in entrata con un filtro denominato. AWSXRayServletFilter Configura un filtro servlet per analizzare le richieste in entrata.

  • Stai utilizzando client strumentati al di fuori del codice servlet: se utilizzi un client con strumenti per effettuare chiamate nel codice di avvio o in altro codice che non viene eseguito in risposta a una richiesta in arrivo, devi creare un segmento manualmente. Per esempi, consulta Analisi del codice di avvio.

  • Stai usando client strumentati nei thread di lavoro: quando crei un nuovo thread, il registratore X-Ray perde il riferimento al segmento aperto. È possibile utilizzare i setTraceEntitymetodi getTraceEntityand per ottenere un riferimento al segmento o al sottosegmento corrente (Entity) e passarlo nuovamente al registratore all'interno del thread. Consulta Utilizzo dei client analizzati nei thread worker per un esempio.

X-Ray SDK per Node.js

Problema: CLS non funziona con Sequelize

Passa lo spazio dei nomi X-Ray SDK per Node.js a Sequelize con il metodo. cls

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

Problema: CLS non funziona con Bluebird

Utilizza cls-bluebird per fare in modo che Bluebird funzioni con CLS.

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

Il demone X-Ray

Problema: il daemon sta utilizzando delle credenziali errate

Il demone utilizza l'SDK per caricare le AWS credenziali. Se si utilizzano più metodi di fornitura delle credenziali, viene utilizzato il metodo con la massima precedenza. Per ulteriori informazioni, consulta Esecuzione del daemon.