AWS Lambda et 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.

AWS Lambda et AWS X-Ray

Vous pouvez l'utiliser AWS X-Ray pour suivre vos AWS Lambda fonctions. Lambda exécute le daemon X-Ray et enregistre un segment contenant des détails sur l'invocation et l'exécution de la fonction. Pour une instrumentation plus poussée, vous pouvez associer le SDK X-Ray à votre fonction pour enregistrer les appels sortants et ajouter des annotations et des métadonnées.

Si votre fonction Lambda est appelée par un autre service instrumenté, Lambda suit les requêtes qui ont déjà été échantillonnées sans aucune configuration supplémentaire. Le service en amont peut être une application Web instrumentée ou une autre fonction Lambda. Votre service peut appeler la fonction directement avec un client AWS SDK instrumenté ou en appelant une API API Gateway avec un client HTTP instrumenté.

AWS X-Ray prend en charge le suivi des applications pilotées par des événements à l'aide AWS Lambda d'Amazon SQS. Utilisez la CloudWatch console pour voir une vue connectée de chaque demande mise en file d'attente avec Amazon SQS et traitée par une fonction Lambda en aval. Les traces provenant des producteurs de messages en amont sont automatiquement liées aux traces provenant des nœuds consommateurs Lambda en aval, créant ainsi une end-to-end vue de l'application. Pour plus d'informations, consultez la section Suivi des applications pilotées par des événements.

Note

Si les traces sont activées pour une fonction Lambda en aval, vous devez également activer les traces pour la fonction Lambda racine qui appelle la fonction en aval afin que la fonction en aval puisse générer des traces.

Si votre fonction Lambda s'exécute selon un calendrier ou est invoquée par un service non instrumenté, vous pouvez configurer Lambda pour échantillonner et enregistrer les appels avec un suivi actif.

Pour configurer l'intégration de X-Ray sur une AWS Lambda fonction
  1. Ouvrez la AWS Lambda console.

  2. Sélectionnez Fonctions dans la barre de navigation de gauche.

  3. Choisissez votre fonction.

  4. Dans l'onglet Configuration, faites défiler l'écran vers le bas jusqu'à la carte Outils de surveillance supplémentaires. Vous pouvez également trouver cette carte en sélectionnant Outils de surveillance et d'exploitation dans le volet de navigation de gauche.

  5. Tâche de sélection Modifier.

  6. Sous AWS X-Ray, activez le Suivi actif.

Lors des exécutions avec un SDK X-Ray correspondant, Lambda exécute également le démon X-Ray.

SDK X-Ray sur Lambda
  • X-Ray SDK pour Go — Go 1.7 et environnements d'exécution plus récents

  • Kit de développement X-Ray pour Java — environnement d'exécution Java 8

  • Kit de développement X-Ray pour Node.js — Node.js 4.3 et versions ultérieures

  • Kit de développement X-Ray pour Python — Python 2.7, Python 3.6 et environnements d'exécution plus récents

  • Kit de développement X-Ray pour .NET — .NET Core 2.0 et environnements d'exécution plus récents

Pour utiliser le SDK X-Ray sur Lambda, associez-le à votre code de fonction chaque fois que vous créez une nouvelle version. Vous pouvez instrumenter vos fonctions Lambda avec les mêmes méthodes que celles que vous utilisez pour instrumenter les applications exécutées sur d'autres services. La principale différence est que vous n'utilisez pas le kit de développement logiciel pour instrumenter les demandes entrantes, prendre des décisions d'échantillonnage et créer des segments.

L'autre différence entre l'instrumentation des fonctions Lambda et des applications Web est que le segment que Lambda crée et envoie à X-Ray ne peut pas être modifié par le code de votre fonction. Vous pouvez créer des sous-segments et enregistrer des annotations et des métadonnées sur eux, mais vous ne pouvez pas ajouter d'annotations et de métadonnées au segment parent.

Pour plus d'informations, consultez la section Utilisation de AWS X-Ray dans le manuel du AWS Lambda développeur.