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 X-Ray SDK pour Node.js
The X-Ray SDK for Node.js est une bibliothèque pour les applications Web Express et les fonctions Lambda Node.js qui fournit des classes et des méthodes permettant de générer et d'envoyer des données de trace au démon X-Ray. Les données de suivi incluent des informations sur les HTTP demandes entrantes traitées par l'application et les appels que l'application passe aux services en aval à l'aide des HTTP clients AWS SDK or.
Note
The X-Ray SDK for Node.js est un projet open source pris en charge pour les versions 14.x et supérieures de Node.js. Vous pouvez suivre le projet et soumettre des problèmes et des pull requests sur GitHub : github.com/aws/ aws-xray-sdk-node
Si vous utilisez Express, commencez par ajouter le middleware en SDK tant que middleware sur votre serveur d'applications pour suivre les demandes entrantes. L'intergiciel crée un segment pour chaque demande suivie et termine le segment lorsque la réponse est envoyée. Lorsque le segment est ouvert, vous pouvez utiliser les méthodes du SDK client pour ajouter des informations au segment et créer des sous-segments afin de suivre les appels en aval. Il enregistre SDK également automatiquement les exceptions générées par votre application lorsque le segment est ouvert.
Pour les fonctions Lambda appelées par une application ou un service instrumenté, Lambda lit l'en-tête de suivi et trace automatiquement les requêtes échantillonnées. Pour les autres fonctions, vous pouvez configurer Lambda pour échantillonner et suivre les demandes entrantes. Dans les deux cas, Lambda crée le segment et le fournit au X-Ray. SDK
Note
Sur Lambda, le X-Ray SDK est facultatif. Si vous ne l'utilisez pas dans votre fonction, votre carte de service inclura toujours un nœud pour le service Lambda et un nœud pour chaque fonction Lambda. En ajoutant leSDK, vous pouvez instrumenter votre code de fonction pour ajouter des sous-segments au segment de fonction enregistré par Lambda. Pour plus d’informations, consultez AWS Lambda et AWS X-Ray.
Ensuite, utilisez le X-Ray SDK for Node.js pour instrumenter votre AWS SDK for JavaScript dans les clients Node.js. Chaque fois que vous appelez une ressource Service AWS ou une ressource en aval avec un client instrumenté, les informations relatives à l'appel sont SDK enregistrées dans un sous-segment. Services AWS et les ressources auxquelles vous accédez au sein des services apparaissent sous forme de nœuds en aval sur la carte de trace pour vous aider à identifier les erreurs et les problèmes de limitation sur les connexions individuelles.
The X-Ray SDK for Node.js fournit également des instruments pour les appels en aval vers HTTP le Web APIs et les SQL requêtes. Enveloppez votre HTTP client dans la méthode SDK de capture pour enregistrer des informations sur les HTTP appels sortants. Pour les SQL clients, utilisez la méthode de capture correspondant à votre type de base de données.
L'intergiciel applique les règles d'échantillonnage aux demandes entrantes pour déterminer les demandes à suivre. Vous pouvez configurer le X-Ray SDK for Node.js pour ajuster le comportement d'échantillonnage ou pour enregistrer des informations concernant les ressources de AWS calcul sur lesquelles votre application s'exécute.
Enregistrez les informations supplémentaires sur les demandes et le travail que votre application effectue dans les annotations et les métadonnées. Les annotations sont de simples paires clé-valeur, indexées en vue de leur utilisation avec les expressions de filtre, de telle sorte que vous pouvez explorer les suivis qui contiennent des données spécifiques. Les entrées de métadonnées sont moins restrictives et peuvent enregistrer des objets et des tableaux entiers, c'est-à-dire tout ce qui peut être sérialisé. JSON
Annotations et métadonnées
Les annotations et les métadonnées sont du texte arbitraire que vous ajoutez aux segments avec le X-RaySDK. Les annotations sont indexées pour être utilisées avec les expressions de filtre. Les métadonnées ne sont pas indexées, mais peuvent être consultées dans le segment brut avec la console X-Ray ouAPI. Toute personne à qui vous accordez un accès en lecture à X-Ray peut consulter ces données.
Lorsque vous avez un grand nombre de clients instrumentés dans votre code, un seul segment de demande peut contenir un grand nombre de sous-segments, un par appel effectué à l'aide d'un client instrumenté. Vous pouvez organiser et grouper les sous-segments en enveloppant les appels clients dans des sous-segments personnalisés. Vous pouvez créer un sous-segment personnalisé pour une fonction complète ou une quelconque section du code, puis enregistrer les métadonnées et les annotations sur le sous-segment au lieu de tout écrire sur le segment parent.
Pour la documentation de référence sur les SDK classes et les méthodes, consultez la APIréférence AWS X-Ray SDK for Node.js.
Prérequis
The X-Ray SDK for Node.js nécessite Node.js et les bibliothèques suivantes :
-
atomic-batcher
— 1,0,2 -
cls-hooked
— 4.2.2 -
pkginfo
— 0,4,0 -
semver
— 5.3.0
Il SDK extrait ces bibliothèques lorsque vous l'installez avecNPM.
Pour suivre AWS SDK les clients, le X-Ray SDK pour Node.js nécessite une version minimale du AWS SDK formulaire JavaScript dans Node.js.
-
aws-sdk
— 2,7,15
Gestion des dépendances
The X-Ray SDK for Node.js est disponible surNPM.
-
Package —
aws-xray-sdk
Pour le développement local, installez-le SDK dans le répertoire de votre projet avec npm.
~/nodejs-xray$ npm install aws-xray-sdk
aws-xray-sdk@3.3.3
├─┬ aws-xray-sdk-core@3.3.3
│ ├── @aws-sdk/service-error-classification@3.15.0
│ ├── @aws-sdk/types@3.15.0
│ ├─┬ @types/cls-hooked@4.3.3
│ │ └── @types/node@15.3.0
│ ├── atomic-batcher@1.0.2
│ ├─┬ cls-hooked@4.2.2
│ │ ├─┬ async-hook-jl@1.7.6
│ │ │ └── stack-chain@1.3.7
│ │ └─┬ emitter-listener@1.1.2
│ │ └── shimmer@1.2.1
│ └── semver@5.7.1
├── aws-xray-sdk-express@3.3.3
├── aws-xray-sdk-mysql@3.3.3
└── aws-xray-sdk-postgres@3.3.3
Utilisez l'--save
option pour enregistrer le SDK en tant que dépendance dans celui de votre applicationpackage.json
.
~/nodejs-xray$ npm install aws-xray-sdk --save
aws-xray-sdk@3.3.3
Si votre application possède des dépendances dont les versions entrent en conflit avec les dépendances SDK du X-Ray, les deux versions seront installées pour garantir la compatibilité. Pour plus de détails, consultez la NPMdocumentation officielle sur la résolution des dépendances
Exemples Node.js
Utilisez le fichier AWS X-Ray SDK for Node.js pour avoir une end-to-end vue des requêtes lorsqu'elles transitent dans vos applications Node.js.
-
Exemple d'application Node.js
sur GitHub.