El agente de SkyWalking para Node.js (skywalking-backend-js) instrumenta automáticamente su aplicación Node.js y reporta los datos de trazas a Managed Service for OpenTelemetry. Una vez completada la configuración, la consola muestra la topología de la aplicación, las trazas, las transacciones anómalas y lentas, así como el análisis de SQL.
Requisitos previos
Antes de empezar, compruebe que cuenta con lo siguiente:
Node.js instalado.
Un endpoint y un token de autenticación obtenidos desde la consola de Managed Service for OpenTelemetry (consulte la sección Obtener un endpoint más adelante).
Obtener un endpoint
Consola nueva
Inicie sesión en la consola de Managed Service for OpenTelemetry. En el panel de navegación izquierdo, haga clic en Integration Center.
En la página Integration Center, haga clic en la tarjeta SkyWalking dentro de la sección Open Source Frameworks.
-
En el panel SkyWalking, haga clic en la pestaña Start Integration y seleccione la región donde desea reportar los datos.
NotaLa primera vez que accede a una región, los recursos se inicializan automáticamente en ella.
-
Configure el parámetro Connection Type y copie el endpoint.
Si su servicio se ejecuta en Alibaba Cloud dentro de la región seleccionada, seleccione Alibaba Cloud VPC Network.
En caso contrario, seleccione Public Network.

Consola anterior
Inicie sesión en la consola de Managed Service for OpenTelemetry.
En el panel de navegación izquierdo, haga clic en Cluster Configurations. En la página que aparece, haga clic en la pestaña Access point information.
En la barra de navegación superior, seleccione la región donde desea reportar los datos. En la sección Cluster Information, active la opción Show Token.
-
Establezca el parámetro Client en SkyWalking. En la columna Related Information, copie el endpoint.
NotaSi su aplicación se ejecuta en un entorno de producción de Alibaba Cloud, utilice un endpoint de VPC. De lo contrario, use un endpoint público.

Paso 1: Instalar el agente
En el directorio de su proyecto de Node.js, ejecute el siguiente comando:
npm install --save skywalking-backend-js
Paso 2: Inicializar el agente
Importe e inicie el agente en la parte superior del archivo de entrada de su aplicación, antes de cualquier otra instrucción require o import.
El agente modifica la carga de módulos para habilitar la instrumentación automática. Si lo importa después de otros módulos, estos no se instrumentarán. Esta es la causa más común de ausencia de datos de trazas.
Existen dos opciones de inicialización:
Variables de entorno (recomendado): mantiene las credenciales fuera del código fuente. Utilice esta opción en entornos de producción.
Configuración en línea: pasa los valores directamente en el código. Resulta más sencilla para el desarrollo local.
Opción 1: Variables de entorno (recomendado)
Establezca estas variables de entorno antes de iniciar su aplicación:
export SW_AGENT_COLLECTOR_BACKEND_SERVICES=<your-collector-endpoint>
export SW_AGENT_AUTHENTICATION=<your-auth-token>
export SW_AGENT_NAME=<your-service-name>
Después, inicie el agente sin configuración en línea:
const { default: agent } = require("skywalking-backend-js");
agent.start({});
Cada variable de entorno corresponde a un parámetro de configuración:
|
Variable de entorno |
Parámetro de configuración |
Descripción |
|
|
|
Endpoint del colector |
|
|
|
Token de autenticación |
|
|
|
Nombre de la aplicación en la consola |
Opción 2: Configuración en línea
// 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");
// ...
Reemplace los marcadores de posición con sus valores reales:
|
Marcador de posición |
Descripción |
Ejemplo |
|
|
Nombre que identifica su aplicación en la consola |
|
|
|
Endpoint copiado de la consola |
Consulte la sección Obtener un endpoint anterior |
|
|
Token de autenticación obtenido de la consola |
Consulte la sección Obtener un endpoint anterior |
Paso 3: Comprobar la configuración
Reinicie su aplicación Node.js.
Envíe algunas solicitudes para generar datos de trazas.
Abra la consola de Managed Service for OpenTelemetry y busque el nombre de su servicio en la lista de aplicaciones.
Los datos de trazas suelen aparecer en unos minutos. Si su servicio no se muestra, compruebe lo siguiente:
Que la importación del agente sea la primera instrucción
requireen su archivo de entrada.Que los valores del endpoint y del token sean correctos.
Que su aplicación pueda comunicarse con el endpoint del colector a través de la red.
Código de ejemplo
Para consultar un ejemplo funcional completo, visite el repositorio skywalking-demo en GitHub.
Acerca de SkyWalking
SkyWalking es un sistema de código abierto para el monitoreo del rendimiento de aplicaciones (APM) y el rastreo distribuido. Se desarrolló originalmente en China y está diseñado para entornos de microservices, nativos de la nube y basados en contenedores (docker, Kubernetes, Mesos).
skywalking-backend-js es el agente oficial actual de SkyWalking para Node.js. Sustituye al paquete skyapm-nodejs, el cual se discontinuó.