L'agent Node.js SkyWalking (skywalking-backend-js) instrumente automatiquement votre application Node.js et transmet les données de trace au service managé pour OpenTelemetry. Une fois la configuration effectuée, vous pouvez consulter la topologie des applications, les traces, les transactions anormales et lentes, ainsi que les analyses SQL dans la console.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Node.js installé
Un endpoint et un jeton d'authentification obtenus depuis la console du service managé pour OpenTelemetry (consultez la section Obtenir un endpoint ci-dessous)
Obtenir un endpoint
Nouvelle console
Connectez-vous à la console Managed Service for OpenTelemetry. Dans le volet de navigation de gauche, cliquez sur Integration Center.
Sur la page Integration Center, cliquez sur la carte SkyWalking dans la section Open Source Frameworks.
-
Dans le panneau SkyWalking, sélectionnez l'onglet Start Integration, puis choisissez la région dans laquelle vous souhaitez envoyer les données.
RemarqueLorsque vous accédez à une région pour la première fois, les ressources y sont automatiquement initialisées.
-
Configurez le paramètre Connection Type et copiez l'endpoint.
Si votre service s'exécute sur Alibaba Cloud dans la région sélectionnée, sélectionnez Alibaba Cloud VPC Network.
Dans le cas contraire, sélectionnez Public Network.

Ancienne console
Connectez-vous à la console Managed Service for OpenTelemetry.
Dans le volet de navigation de gauche, cliquez sur Cluster Configurations. Sur la page qui s'affiche, sélectionnez l'onglet Access point information.
Dans la barre de navigation supérieure, sélectionnez la région dans laquelle vous souhaitez envoyer les données. Dans la section Cluster Information, activez l'option Show Token.
-
Définissez le paramètre Client sur SkyWalking. Dans la colonne Related Information, copiez l'endpoint.
RemarqueSi votre application s'exécute dans un environnement de production Alibaba Cloud, utilisez un endpoint VPC. Sinon, utilisez un endpoint public.

Étape 1 : Installez l'agent
Dans le répertoire de votre projet Node.js, exécutez :
npm install --save skywalking-backend-js
Étape 2 : Initialisez l'agent
Importez et démarrez l'agent tout en haut du fichier d'entrée de votre application, avant toute autre instruction require ou import.
L'agent modifie le chargement des modules pour activer l'instrumentation automatique. Si vous l'importez après d'autres modules, ceux-ci ne seront pas instrumentés. Il s'agit de la cause la plus fréquente de l'absence de données de trace.
Deux options d'initialisation sont disponibles :
Variables d'environnement (recommandé) — permet de conserver les identifiants hors du code source. Utilisez cette méthode pour la production.
Configuration intégrée — transmet les valeurs directement dans le code. Plus simple pour le développement local.
Option 1 : Variables d'environnement (recommandé)
Définissez ces variables d'environnement avant de démarrer votre application :
export SW_AGENT_COLLECTOR_BACKEND_SERVICES=<your-collector-endpoint>
export SW_AGENT_AUTHENTICATION=<your-auth-token>
export SW_AGENT_NAME=<your-service-name>
Ensuite, démarrez l'agent sans configuration intégrée :
const { default: agent } = require("skywalking-backend-js");
agent.start({});
Chaque variable d'environnement correspond à un paramètre de configuration :
|
Variable d'environnement |
Paramètre de configuration |
Description |
|
|
|
Endpoint du collecteur |
|
|
|
Jeton d'authentification |
|
|
|
Nom de l'application dans la console |
Option 2 : configuration inline
// MUST be the first import in your application
const { default: agent } = require("skywalking-backend-js");
agent.start({
// Service name displayed in the Managed Service for OpenTelemetry console
serviceName: "<your-service-name>",
// Endpoint from the console (see Get an endpoint above)
collectorAddress: "<your-collector-endpoint>",
// Authentication token from the console
authorization: "<your-auth-token>",
});
// All other imports go below
const express = require("express");
// ...
Remplacez les espaces réservés par vos valeurs réelles :
|
Espace réservé |
description |
Exemple |
|
|
Nom qui identifie votre application dans la console |
|
|
|
Endpoint copié depuis la console |
Voir Obtenir un endpoint ci-dessus |
|
|
Jeton d'authentification issu de la console |
Voir Obtenir un endpoint ci-dessus |
Étape 3 : Vérifiez la configuration
Redémarrez votre application Node.js.
Envoyez quelques requêtes pour générer des données de trace.
Ouvrez la console Managed Service for OpenTelemetry et vérifiez la présence du nom de votre service dans la liste des applications.
Les données de trace apparaissent généralement en quelques minutes. Si votre service n'apparaît pas, vérifiez les points suivants :
L'importation de l'agent constitue la première instruction
requirede votre fichier d'entrée.Les valeurs de l'endpoint et du token sont correctes.
Votre application peut atteindre l'endpoint du collecteur via le réseau.
Exemple de code
Pour un exemple fonctionnel complet, consultez le dépôt skywalking-demo sur GitHub.
À propos de SkyWalking
SkyWalking est un système open source de surveillance des performances des applications (APM) et de traçage distribué, développé à l'origine en Chine. Il est conçu pour les environnements basés sur les microservices, le cloud native et les conteneurs (Docker, Kubernetes, Mesos).
skywalking-backend-js est l'agent Node.js officiel actuel de SkyWalking. Il remplace le package skyapm-nodejs, qui n'est plus maintenu.