Résolution des problèmes AWS X-Ray - AWS X-Ray

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.

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'espace AWS/DynamoDB de noms est TableName 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 et setTraceEntity 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.