O agente do SkyWalking para Node.js (skywalking-backend-js) instrumenta automaticamente sua aplicação Node.js e reporta dados de rastreamento para o Managed Service for OpenTelemetry. Após a configuração, a topologia da aplicação, os rastreamentos, as transações anômalas e lentas, e a análise de SQL ficam disponíveis no console.
Pré-requisitos
Antes de começar, certifique-se de ter:
Node.js instalado
Um endpoint e um token de autenticação do console do Managed Service for OpenTelemetry (consulte Obter um endpoint abaixo)
Obter um endpoint
Novo console
Faça login no console do Managed Service for OpenTelemetry. No painel de navegação à esquerda, clique em Integration Center.
Na página Integration Center, clique no cartão SkyWalking na seção Open Source Frameworks.
-
No painel SkyWalking, clique na aba Start Integration e, em seguida, selecione a região onde você deseja reportar os dados.
NotaQuando você acessa uma região pela primeira vez, a plataforma inicializa automaticamente os recursos dessa região.
-
Configure o parâmetro Connection Type e copie o endpoint.
Se o seu serviço estiver em execução na Alibaba Cloud dentro da região selecionada, selecione Alibaba Cloud VPC Network.
Caso contrário, selecione Public Network.

Console antigo
Faça login no console do Managed Service for OpenTelemetry.
No painel de navegação à esquerda, clique em Cluster Configurations. Na página que abrir, clique na aba Access point information.
Na barra de navegação superior, selecione a região onde deseja reportar os dados. Na seção Cluster Information, ative Show Token.
-
Defina o parâmetro Client como SkyWalking. Na coluna Related Information, copie o endpoint.
NotaSe a sua aplicação estiver em execução em um ambiente de produção da Alibaba Cloud, use um endpoint de VPC. Caso contrário, use um endpoint público.

Etapa 1: instale o agente
No diretório do seu projeto Node.js, execute:
npm install --save skywalking-backend-js
Etapa 2: Inicialize o agente
Importe e inicie o agente bem no início do arquivo de entrada da sua aplicação, antes de qualquer outra instrução require ou import.
O agente intercepta o carregamento de módulos para ativar a instrumentação automática. Se você importá-lo após outros módulos, o agente não instrumentará esses módulos. Essa é a causa mais comum da ausência de dados de rastreamento.
Há duas opções de inicialização:
Variáveis de ambiente (recomendado) — mantém as credenciais fora do código-fonte. Use esta opção para produção.
Configuração inline — passa os valores diretamente no código. É mais simples para o desenvolvimento local.
Opção 1: Variáveis de ambiente (recomendado)
Defina estas variáveis de ambiente antes de iniciar sua aplicação:
export SW_AGENT_COLLECTOR_BACKEND_SERVICES=<your-collector-endpoint>
export SW_AGENT_AUTHENTICATION=<your-auth-token>
export SW_AGENT_NAME=<your-service-name>
Em seguida, inicie o agente sem nenhuma configuração inline:
const { default: agent } = require("skywalking-backend-js");
agent.start({});
Cada variável de ambiente corresponde a um parâmetro de configuração:
|
Variável de ambiente |
Parâmetro de configuração |
Descrição |
|
|
|
Endpoint do coletor |
|
|
|
Token de autenticação |
|
|
|
Nome da aplicação no console |
Opção 2: Configuração 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");
// ...
Substitua os placeholders pelos seus valores reais:
|
Placeholder |
Descrição |
Exemplo |
|
|
Nome que identifica sua aplicação no console |
|
|
|
Endpoint copiado do console |
Consulte Obter um endpoint acima |
|
|
Token de autenticação do console |
Consulte Obter um endpoint acima |
Etapa 3: Verifique a configuração
Reinicie sua aplicação Node.js.
Envie algumas requisições para gerar dados de rastreamento.
Abra o console do Managed Service for OpenTelemetry e verifique o nome do seu serviço na lista de aplicações.
Os dados de rastreamento geralmente aparecem dentro de alguns minutos. Se o seu serviço não aparecer, verifique se:
A importação do agente é a primeira instrução
requireno seu arquivo de entradaOs valores do endpoint e do token estão corretos
Sua aplicação consegue alcançar o endpoint do coletor pela rede
Código de exemplo
Para um exemplo completo e funcional, consulte o repositório skywalking-demo no GitHub.
Sobre o SkyWalking
O SkyWalking é um sistema de código aberto para monitoramento de desempenho de aplicações (APM) e rastreamento distribuído, desenvolvido originalmente na China e projetado para microsserviços e ambientes nativos da nuvem e baseados em contêineres (Docker, Kubernetes, Mesos).
O skywalking-backend-js é o agente oficial atual do SkyWalking para Node.js. Ele substitui o pacote descontinuado skyapm-nodejs.