Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

Instrumentation des applications Node.js

Instrumentation automatique

L’instrumentation automatique pour Node.js se fait en incluant les bibliothèques Javascript d’instrumentation automatique avec votre application. Une large gamme de bibliothèques et frameworks est supportée.

L’instrumentation automatique ne nécessite aucune modification de l’application. Pour le configurer, suivez ces étapes :

  1. Ajoutez le SDK d’instrumentation Open Telemetry à votre application :

    npm install --save @opentelemetry/api
    npm install --save @opentelemetry/auto-instrumentations-node
  2. Mettez à jour la commande qui démarre votre application pour charger le SDK, soit en mettant à jour le point d’entrée ou la commande de l’image Docker, soit en mettant à jour le command dans le manifeste Kubernetes de votre application. Ajoutez --require @opentelemetry/auto-instrumentations-node/register :

    node --require @opentelemetry/auto-instrumentations-node/register app.js
  3. Déployez votre application avec les variables d’environnement supplémentaires pour configurer le nom du service et le point de terminaison de l’exportateur, les protocoles supportés sont gRPC et protobuf sur HTTP.

  4. Vérifiez que SUSE Observability reçoit des traces et/ou des métriques en recherchant les métriques / traces dans l’explorateur de métriques / traces pour le nom de votre service

Pour plus de détails, veuillez vous référer à la documentation Open Telemetry.

L’instrumentation automatique configurée via des variables d’environnement ne prend en charge que les traces jusqu’à ce que ce problème Open Telemetry soit résolu. Pour activer les métriques, des modifications du code d’instrumentation automatique sont nécessaires. Veuillez suivre les instructions dans la documentation Open Telemetry pour effectuer ces modifications.

Instrumentation manuelle

L’instrumentation manuelle peut être utilisée lorsque vous avez besoin de métriques, de traces ou de journaux provenant de parties du code qui ne sont pas prises en charge par l’instrumentation automatique. Par exemple, des bibliothèques non prises en charge, du code interne ou des métriques au niveau commercial.

Pour capturer ces données, vous devez modifier votre application.

  1. Incluez le SDK Open Telemetry comme dépendance

  2. Ajoutez du code à votre application pour capturer des métriques, des spans ou des journaux si nécessaire.

Il existe une documentation détaillée à ce sujet sur les pages de documentation du SDK Javascript Open Telemetry.

Assurez-vous d’utiliser l’exportateur OTLP et de configurer correctement le point de terminaison de l’exportateur dans le code. Voir aussi la documentation Open Telemetry. En supposant que vous ayez configuré l’exportateur comme documenté, le point de terminaison à configurer est http://opentelemetry-collector.open-telemetry.svc.cluster.local:4317, en utilisant gRPC. Voir aussi gRPC vs HTTP au cas où gRPC poserait problème.