Google Cloud oferece monitoramento, geração de registros e diagnósticos avançados para aplicativos Node.js.
As bibliotecas de cliente do Node.js são instrumentadas para emitir dados de rastreamento. A instrumentação é opcional. É necessário ativá-la explicitamente. Este documento descreve os indicadores disponíveis e como ativá-los.
Indicadores disponíveis
As bibliotecas de cliente do Node.js são instrumentadas para gerar os seguintes indicadores:
- Períodos
INFOpara cada solicitação lógica do cliente. Normalmente, uma única chamada de método na estrutura do cliente recebe um período desse tipo (por exemplo, chamaraccessSecretVersionem umSecretManagerServiceClient). - Períodos
INFOpara cada tentativa de RPC de baixo nível. Normalmente, um único método na estrutura do cliente recebe um período desse tipo, mas pode haver mais se a biblioteca precisar tentar novamente a RPC.
Esses períodos e registros seguem as convenções semânticas do OpenTelemetry com
Google Cloud atributos adicionais. Os períodos e registros precisam ser adequados para o monitoramento de produção. Os indicadores incluem atributos padrão do OpenTelemetry (por exemplo, http.response.status_code e rpc.system.name).
Para uma lista completa de atributos padrão, consulte as convenções semânticas HTTP e gRPC do OpenTelemetry.
Ativar indicadores de telemetria
Para proteger dados sensíveis, os indicadores de telemetria são desativados por padrão.
No Node.js, é necessário configurar o cliente para emitir rastros e configurar assinantes e exportadores para enviar esses indicadores a um serviço externo.
Para configurar o cliente, defina a seguinte variável de ambiente:
export GOOGLE_SDK_NODE_ENABLE_TRACING=true
Quando o rastreamento está ativado e o aplicativo tem um período ativo do OpenTelemetry no contexto atual ao chamar um método de biblioteca de cliente, a biblioteca de cliente vincula automaticamente os períodos como filhos do período ativo.
Exportar rastros
Depois que a telemetria é ativada nas bibliotecas de cliente, o aplicativo precisa ser configurado para coletar e exportar esses dados para o serviço de observabilidade.
Para instruções detalhadas sobre como configurar os dados de correlação de rastreamento do OpenTelemetry, consulte o exemplo de observabilidade no repositório do Node.js.
Para exportar os tracing períodos gerados pelas Google Cloud bibliotecas de cliente
para o OpenTelemetry, é necessário configurar um provedor de rastreador e um exportador:
const cloudTraceExporter = new TraceExporter();
const spanProcessor = new BatchSpanProcessor(cloudTraceExporter);
const provider = new NodeTracerProvider({
spanProcessors: [spanProcessor],
});
provider.register();