J'ai ajouté l'instrumentation X-ray à mon lambda (Node.js) et je peux voir tous les services autour de lui dans la trace, mais je ne peux toujours pas ajouter la passerelle API qui l'appelle à la trace et à la carte des services. Existe-t-il un moyen de le faire ?
Réponses
Trop de publicités?Il y a quelques jours AWS a annoncé la disponibilité de l'intégration de X-Ray dans API Gateway, donc oui, obtenir l'image complète incluant API Gateway dans X-Ray est maintenant possible.
Pour activer l'intégration X-Ray dans API Gateway, vous pouvez utiliser la console de gestion, l'AWS CLI ou effectuer des appels API directs.
Dans la console de gestion, ouvrez la scène d'une API pour laquelle vous souhaitez activer l'intégration X-Ray, sélectionnez l'option " Journaux/Traçage "et sélectionnez " Activer le traçage des rayons X "comme indiqué dans la capture d'écran ci-dessous :
Pour activer l'intégration X-Ray à l'aide de l'AWS CLI, l'option documentation officielle résume assez bien la situation :
Pour utiliser l'AWS CLI afin d'activer le traçage X-Ray actif pour une API qui a déjà été déployée, appelez la fonction étape de mise à jour comme suit :
aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name {stage-name} \ --patch-operations op=replace,path=/tracingEnabled,value=true
Après avoir activé l'intégration de X-Ray dans votre étape API Gateway API, vous verrez l'étape API Gateway API apparaître dans la carte des services X-Ray.
Selon le FAQ sur les rayons X X-Ray ne prend en charge que les services suivants : EC2, ECS, Lambda et Elastic Beanstalk. Jusqu'à ce que X-Ray ajoute la prise en charge de API Gateway, vous ne serez pas en mesure de tracer les appels API Gateway avec X-Ray.
La documentation de X-Ray indique que les métadonnées sont ajoutées aux appels SDK AWS effectués vers les services AWS. Vous voyez donc des données de suivi X-Ray pour d'autres services AWS invoqués par votre fonction Lambda.
Este Documentation radiographique indique que API Gateway n'envoie pas de données de suivi à X-Ray, et que vous ne pouvez donc pas utiliser une méthode similaire à celle que X-Ray propose pour les SDK AWS. Par exemple, si vous avez utilisé la méthode X-Ray PutTraceSegments
juste avant d'invoquer votre API Gateway, vous vous retrouveriez avec deux traces distinctes pour chaque invocation. Il semble que vous devrez attendre l'intégration de X-Ray et de API Gateway. Espérons que cela se produise bientôt.