Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official.

Instrumentando Aplicativos Node.js

Instrumentação automática

A instrumentação automática para Node.js é feita incluindo as bibliotecas Javascript de instrumentação automática com seu aplicativo. Uma ampla gama de bibliotecas e frameworks é suportada.

A instrumentação automática não requer nenhuma modificação do aplicativo. Para configurá-la, siga estas etapas:

  1. Adicione o SDK de instrumentação Open Telemetry ao seu aplicativo:

    npm install --save @opentelemetry/api
    npm install --save @opentelemetry/auto-instrumentations-node
  2. Atualize o comando que inicia seu aplicativo para carregar o SDK, seja atualizando o ponto de entrada ou comando da imagem docker ou atualizando o command no manifesto do Kubernetes para seu aplicativo. Adicione --require @opentelemetry/auto-instrumentations-node/register:

    node --require @opentelemetry/auto-instrumentations-node/register app.js
  3. Implante seu aplicativo com as variáveis de ambiente extras para configurar o nome do serviço e o endpoint do exportador, os protocolos suportados são gRPC e protobuf sobre HTTP.

  4. Verifique se o SUSE Observability está recebendo rastros e/ou métricas pesquisando as métricas / rastros no explorador de métricas / rastros para o nome do seu serviço

Para mais detalhes, consulte a documentação do Open Telemetry.

A instrumentação automática configurada via variáveis de ambiente suporta apenas rastros até que este problema do Open Telemetry seja resolvido. Para habilitar métricas a partir do código de instrumentação automática, são necessárias mudanças. Por favor, siga as instruções na documentação do Open Telemetry para fazer essas mudanças.

Instrumentação manual

A instrumentação manual pode ser usada quando você precisa de métricas, rastros ou logs de partes do código que não são suportadas pela instrumentação automática. Por exemplo, bibliotecas não suportadas, código interno ou métricas de nível de negócios.

Para capturar esses dados, você precisa modificar seu aplicativo.

  1. Inclua o SDK do Open Telemetry como uma dependência

  2. Adicione código ao seu aplicativo para capturar métricas, spans ou logs quando necessário

Há documentação detalhada sobre isso nas Páginas de documentação do SDK Javascript do Open Telemetry.

Certifique-se de usar o exportador OTLP e configurar corretamente o endpoint do exportador a partir do código. Veja também a documentação do Open Telemetry. Supondo que você tenha configurado o exportador conforme documentado, o endpoint que precisa ser configurado é http://opentelemetry-collector.open-telemetry.svc.cluster.local:4317, usando gRPC. Veja também gRPC vs HTTP caso o gRPC apresente problemas.