O agente SkyWalking para Node.js (skywalking-backend-js) instrumenta automaticamente sua aplicação Node.js e relata dados de rastreamento ao Managed Service for OpenTelemetry. Após a configuração, o console disponibiliza a topologia da aplicação, rastreamentos, transações anômalas e lentas, além da análise de SQL.
Pré-requisitos
Antes de começar, verifique se você tem:
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 selecione a região para relato dos dados.
NotaOs recursos são inicializados automaticamente no primeiro acesso a uma região.
-
Configure o parâmetro Connection Type e copie o endpoint.
Se o 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 exibida, clique na aba Access point information.
Na barra de navegação superior, selecione a região para relato dos dados. Na seção Cluster Information, ative Show Token.
-
Defina o parâmetro Client como SkyWalking. Na coluna Related Information, copie o endpoint.
NotaUse um endpoint de VPC se a aplicação estiver em um ambiente de produção da Alibaba Cloud. Caso contrário, use um endpoint público.

Etapa 1: Instale o agente
Execute o comando abaixo no diretório do projeto Node.js:
npm install --save skywalking-backend-js
Etapa 2: Inicializar o agente
Importe e inicie o agente no início absoluto do arquivo de entrada da aplicação, antes de qualquer instrução require ou import.
O agente modifica o carregamento de módulos para permitir a instrumentação automática. Módulos importados antes do agente não serão instrumentados. Essa é a causa mais comum de 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. Recomendado para produção.
Configuração inline — passa os valores diretamente no código. Mais simples para desenvolvimento local.
Opção 1: Variáveis de ambiente (recomendado)
Defina estas variáveis de ambiente antes de iniciar a 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 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 espaços reservados pelos valores reais:
|
Espaço reservado |
Descrição |
Exemplo |
|
|
Nome que identifica a 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 a aplicação Node.js.
Envie algumas requisições para gerar dados de rastreamento.
Abra o console do Managed Service for OpenTelemetry e verifique se o nome do serviço consta na lista de aplicações.
Os dados de rastreamento costumam aparecer em alguns minutos. Se o serviço não for exibido, verifique os itens abaixo:
A importação do agente deve ser a primeira instrução
requireno arquivo de entradaOs valores de endpoint e token estão corretos
A aplicação tem conectividade de rede com o endpoint do coletor
Código de exemplo
Para um exemplo funcional completo, consulte o repositório skywalking-demo no GitHub.
Sobre o SkyWalking
O SkyWalking é um sistema open source de monitoramento de desempenho de aplicações (APM) e rastreamento distribuído, desenvolvido originalmente na China. Foi projetado para microsserviços e ambientes nativos da nuvem baseados em contêineres (docker, Kubernetes, Mesos).
O pacote skywalking-backend-js é o atual agente oficial do SkyWalking para Node.js e substitui o pacote descontinuado skyapm-nodejs.