Déboguer des canaris CloudWatch synthétiques à l'aide de 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.

Déboguer des canaris CloudWatch synthétiques à l'aide de X-Ray

CloudWatch Synthetics est un service entièrement géré qui vous permet de surveiller vos terminaux et vos API à l'aide de canaris scriptés qui s'exécutent 24 heures par jour, une fois par minute.

Vous pouvez personnaliser les scripts canari pour vérifier les changements en termes de :

  • Disponibilité

  • Latence

  • Transactions

  • Liens brisés ou morts

  • Exécution tep-by-step de tâches S

  • Erreurs de chargement de page

  • Latences de chargement pour les actifs de l'interface utilisateur

  • Flux d'assistants complexes

  • Flux de caisse dans votre application

Les scripts canaris suivent les mêmes itinéraires et effectuent les mêmes actions et comportements que vos clients, et vérifient continuellement l'expérience client.

Pour en savoir plus sur la configuration des tests Synthetics, consultez Utilisation des synthétiques pour créer et gérer des scripts canaris.

Exemple de nœud canary dans la carte de suivi X-Ray.

Les exemples suivants montrent des cas d'utilisation courants pour les problèmes de débogage que vos scripts canaris Synthetics soulèvent. Chaque exemple illustre une stratégie clé pour le débogage à l'aide de la carte de trace ou de la console X-Ray Analytics.

Pour plus d'informations sur la façon de lire et d'interagir avec la carte de trace, consultez la section Affichage de la carte des services.

Pour plus d'informations sur la façon de lire et d'interagir avec la console X-Ray Analytics, consultez Interaction avec la console AWS X-Ray Analytics.

Afficher les canaris avec un nombre accru de rapports d'erreurs sur la carte de suivi

Pour voir quels canaris présentent une augmentation du nombre d'erreurs, de défaillances, de taux de ralentissement ou de temps de réponse lents sur votre carte de suivi X-Ray, vous pouvez mettre en évidence les nœuds clients Synthetics Canary à l'aide du filtre. Client::Synthetic Pour plus d’informations, consultez Utiliser des expressions de filtre. La sélection d'un nœud affiche la distribution du temps de réponse de l'ensemble de la demande. La sélection d'une arête entre deux nœuds affiche des informations détaillées sur les demandes ayant transité par cette connexion. Vous pouvez également afficher les nœuds inférés « distants » pour les services en aval associés sur votre carte de trace.

Lorsque vous sélectionnez le nœud Synthetics, un bouton Afficher dans Synthetics se trouve sur le panneau latéral qui vous redirige vers la console Synthetics où vous pouvez consulter les informations relatives à Canary.

Exemple de nœud canari sur une carte de traçage aux rayons X avec les détails du service.

Utilisez des cartes détaillées pour les traces individuelles afin de visualiser chaque demande en détail

Pour déterminer quel service entraîne le plus de latence ou est à l'origine d'une erreur, appelez la carte des détails du suivi en sélectionnant le tracé dans la carte de suivi. Les cartes des détails des traces individuelles indiquent le end-to-end chemin d'une seule demande. Utilisez cette option pour comprendre les services invoqués et visualiser les services en amont et en aval.

Exemple de nœud canari sur la carte détaillée des tracés aux rayons X.

Détermination de la cause racine des défaillances en cours dans les services en amont et en aval

Une fois que vous avez reçu une CloudWatch alarme signalant une défaillance d'un Synthetics Canary, utilisez la modélisation statistique des données de trace dans X-Ray pour déterminer la cause première probable du problème dans la console X-Ray Analytics. Dans la console Analytics, le tableau Response Time Root Cause indique les chemins d'entités enregistrés. X-Ray détermine la trajectoire de votre trace qui est la cause la plus probable du temps de réponse. Le format indique une hiérarchie d’entités qui a été rencontrée, qui constitue la cause racine du temps de réponse.

L'exemple suivant montre que le test Synthetics pour l'API « XXX » exécuté sur API Gateway échoue en raison d'une exception de capacité de débit provenant de la table Amazon DynamoDB.

Exemple de nœud canary dans la carte de suivi X-Ray.
Exemple de cause racine du nœud canary.
Exemple de filtre d'annotation indiquant le nœud Canary.

Identification des goulets d'étranglement et les tendances en matière de performances

Vous pouvez visualiser les tendances des performances de votre terminal au fil du temps en utilisant le trafic continu provenant de vos canaris Synthetics pour remplir une carte des détails des traces sur une période donnée.

Exemple de filtre d'annotation indiquant le nœud Canary.

Comparaison des taux de latence et d'erreur ou d'erreur avant et après les modifications

Pincez l'heure à laquelle un changement s'est produit pour corréler ce changement à une augmentation du nombre de problèmes détectés par vos canaris. Utilisez la console X-Ray Analytics pour définir les plages de temps avant et après comme des ensembles de traces différents, ce qui permet de différencier visuellement la distribution des temps de réponse.

Exemple de filtre d'annotation indiquant le nœud Canary.

Détermination de la couverture Canary requise pour toutes les API et URL

Utilisez X-Ray Analytics pour comparer l'expérience des canarys avec les utilisateurs. L'interface utilisateur ci-dessous montre une ligne de tendance bleue pour les canarys et une ligne verte pour les utilisateurs. Vous pouvez également identifier que deux des trois URL n'ont pas de test canary.

Exemple de filtre d'annotation indiquant le nœud Canary.

Utilisation des groupes pour se concentrer sur les tests synthétiques

Vous pouvez créer un groupe X-Ray à l'aide d'une expression de filtre afin de vous concentrer sur un certain ensemble de flux de travail, tels que les tests Synthetics pour l'application « www » en cours d'exécution. AWS Elastic Beanstalk Utilisez les mots clés complexes service() etedge(), pour filtrer les services et les limites. Pour plus d'informations, consultez la section Mots clés complexes dansUtiliser des expressions de filtre.

Exemple Expression de filtre de groupe
"edge(id(name: "www", type: "client::Synthetics"), id(name: "www", type: "AWS::ElasticBeanstalk::Environment"))"
Exemple de nœuds pour Elastic Beanstalk www.