Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Résolution des problèmes AWS X-Ray
Cette rubrique répertorie les erreurs et les problèmes courants que vous pouvez rencontrer lors de l'utilisation de l'API, de la console ou des kits SDK de X-Ray. Si vous rencontrez un problème qui n’est pas répertorié ici, vous pouvez utiliser le bouton Commentaire sur cette page pour le signaler.
Sections
Carte de traçage X-Ray et pages de détails des traces
Les sections suivantes peuvent vous aider si vous rencontrez des problèmes lors de l'utilisation de la carte de suivi X-Ray et de la page de détails du suivi :
Je ne vois pas tous mes CloudWatch journaux
La manière de configurer les journaux afin qu'ils apparaissent sur la carte de suivi et les pages de détails des traces de X-Ray dépend du service.
-
Les journaux API Gateway apparaissent si la journalisation est activée dans API Gateway.
Tous les nœuds de carte de service ne prennent pas en charge l'affichage des journaux associés. Afficher les journaux pour les types de nœuds suivants :
Contexte Lambda
Fonction Lambda
Étape API Gateway
Cluster Amazon ECS
Instance Amazon ECS
Amazon ECS service
Tâche Amazon ECS
Cluster Amazon EKS
Espace de noms Amazon EKS
Nœud Amazon EKS
Capsule Amazon EKS
Service Amazon EKS
Je ne vois pas toutes mes alarmes sur la carte X-Ray Trace
La carte de suivi X-Ray affiche uniquement l'icône d'alerte d'un nœud si les alarmes associées à ce nœud sont en état ALARM.
La carte de trace associe les alarmes aux nœuds selon la logique suivante :
-
Si le nœud représente un AWS service, toutes les alarmes associées à l'espace de noms associé à ce service sont associées au nœud. Par exemple, un nœud de type
AWS::Kinesis
est lié à toutes les alarmes basées sur les métriques de l'espace de CloudWatch nomsAWS/Kinesis
. -
Si le nœud représente une AWS ressource, les alarmes relatives à cette ressource spécifique sont liées. Par exemple, un nœud du type
AWS::DynamoDB::Table
« MyTable » est lié à toutes les alarmes basées sur une métrique dont l'espaceAWS/DynamoDB
de noms estTableName
défini sur.MyTable
-
Si le nœud est de type inconnu, identifié par une bordure en pointillés autour du nom, aucune alerte n'est associée à ce nœud.
Je ne vois pas certaines AWS ressources sur la carte de suivi
Toutes les AWS ressources ne sont pas représentées par un nœud dédié. Certains AWS services sont représentés par un seul nœud pour toutes les demandes adressées au service. Les types de ressources suivants sont affichés avec un nœud par ressource :
-
AWS::DynamoDB::Table
-
AWS::Lambda::Function
Les fonctions Lambda sont représentées par deux nœuds : un pour le conteneur Lambda et un pour la fonction. Cela aide à identifier les problèmes de démarrage à froid avec les fonctions Lambda. Les nœuds de conteneur Lambda sont associés à des alertes et des tableaux de bord de la même façon que les nœuds de fonction Lambda.
-
AWS::ApiGateway::Stage
-
AWS::SQS::Queue
-
AWS::SNS::Topic
Il y a trop de nœuds sur la carte de trace
Utilisez des groupes X-Ray pour diviser votre carte en plusieurs cartes. Pour de plus amples informations, veuillez consulter Utilisation des expressions de filtre avec des groupes.
Kit de développement X-Ray pour Java
Erreur : exception dans le thread « Thread-1" com.amazonaws.xray.exceptions. SegmentNotFoundException: Impossible de commencer le sous-segment nommé « AmazonSNS » : le segment est introuvable.
Cette erreur indique que le SDK X-Ray a tenté d'enregistrer un appel sortant vers AWS, mais n'a pas trouvé de segment ouvert. Cela peut se produire dans les cas suivants :
-
Aucun filtre de servlet n'est configuré : le SDK X-Ray crée des segments pour les demandes entrantes avec un filtre nommé.
AWSXRayServletFilter
Configurez un filtre de servlet pour instrumenter les demandes entrantes. -
Vous utilisez des clients instrumentés en dehors du code servlet. Si vous utilisez un client instrumenté pour passer des appels dans le code de démarrage ou dans un autre code qui ne s'exécute pas en réponse à une demande entrante, vous devez créer un segment manuellement. Pour obtenir des exemples, consultez Instrumentation du code de démarrage.
-
Vous utilisez des clients instrumentés dans les threads de travail : lorsque vous créez un nouveau thread, l'enregistreur X-Ray perd sa référence au segment ouvert. Vous pouvez utiliser les méthodes
getTraceEntity
etsetTraceEntity
pour obtenir une référence au segment ou sous-segment actuel (Entity
) et le retransmettre à l'enregistreur à l'intérieur du thread. Veuillez consulter Utilisation de clients instrumentés dans les threads de travail pour obtenir un exemple.
Kit de développement X-Ray pour Node.js
Problème : CLS ne fonctionne pas avec Sequelize
Transmettez l'espace de noms du SDK X-Ray pour Node.js à Sequelize avec la méthode. cls
var AWSXRay = require('aws-xray-sdk');
const Sequelize = require('sequelize');
Sequelize.cls = AWSXRay.getNamespace();
const sequelize = new Sequelize(...
);
Problème : CLS ne fonctionne pas avec Bluebird
Utilisez cls-bluebird
pour que Bluebird fonctionne avec CLS.
var AWSXRay = require('aws-xray-sdk');
var Promise = require('bluebird');
var clsBluebird = require('cls-bluebird');
clsBluebird(AWSXRay.getNamespace());
Le démon X-Ray
Problème : Le démon utilise les mauvaises informations d'identification
Le démon utilise le AWS SDK pour charger les informations d'identification. Si vous utilisez plusieurs méthodes pour fournir les informations d'identification, la méthode avec la priorité la plus élevée est utilisée. Pour plus d'informations, consultez Exécution du démon.