Escolher uma abordagem de instrumentação

Nesta página, você encontra recomendações para instrumentar seu aplicativo em diferentes plataformas do Google Cloud, como o Google Kubernetes Engine (GKE) e o Cloud Run. Se o app ainda não estiver instrumentado, use estas recomendações para orientar sobre como instrumentar o app para enviar dados de telemetria ao Google Cloud. As recomendações nesta página não são as únicas soluções, e outras abordagens podem funcionar. Para receber mais orientações, entre em contato com o suporte do Google Cloud.

Há recomendações para:

Para informações sobre exemplos de instrumentação, consulte os documentos listados na seção Amostras de código.

GKE

Para informações gerais sobre o GKE, consulte Visão geral do GKE.

Tipo Recomendação
Métricas

Recomendamos que você use o Google Cloud Managed Service para Prometheus.

Para instrumentação, siga um destes procedimentos:

Traces

Faça o seguinte:

  1. Use o SDK do OpenTelemetry e o exportador OTLP para sua linguagem (link em inglês).
  2. Configure o coletor do OpenTelemetry para enviar rastros do OTLP ao Google Cloud.
Registros

Configure seu app para gerar registros estruturados em JSON para stdout e stderr. Para ver uma lista de frameworks, consulte Frameworks de geração de registros recomendados.

O GKE coleta registros gravados em stdout e stderr automaticamente. Para mais informações, acesse Sobre os registros do GKE.

Compute Engine

Para informações gerais sobre o Compute Engine, consulte Instâncias de máquina virtual.

Tipo Recomendação
Métricas e traces

Faça o seguinte:

  1. Use o SDK do OpenTelemetry e o exportador OTLP para sua linguagem (link em inglês).
  2. Usar o Agente de operações para coletar métricas e traces. Por exemplo, consulte Coletar métricas e traces do protocolo OpenTelemetry (OTLP).

Como alternativa, se você só quiser configurar a coleta para métricas no formato do Prometheus, use o Receptor do Prometheus do Agente de operações para coletar métricas instrumentadas usando bibliotecas de cliente do Prometheus ou o SDK do OpenTelemetry (link em inglês).

Registros

Faça o seguinte:

  1. Configure seu app para gerar registros estruturados em JSON em um arquivo. Para ver uma lista de frameworks, consulte Frameworks de geração de registros recomendados.
  2. Instale o Agente de operações e configure um receptor. Por exemplo, consulte Receptores de geração de registros.

Cloud Run

Para informações gerais sobre o Cloud Run, consulte O que é o Cloud Run.

Tipo Recomendação
Métricas e traces

Faça o seguinte:

  1. Use o SDK do OpenTelemetry e o exportador OTLP para sua linguagem (link em inglês).
  2. Configurar o arquivo secundário do OpenTelemetry para coletar métricas e traces. Para um exemplo, consulte Gravar métricas OTLP usando um arquivo secundário do OpenTelemetry.
  3. Configure a CPU para que ela seja sempre alocada no Cloud Run. Porque a instrumentação do OpenTelemetry faz processamento em segundo plano, recomendamos que os serviços instrumentados do Cloud Run usem uma CPU sempre alocada. Para mais informações, consulte Alocação de CPU (serviços).

Como alternativa, se você quiser configurar a coleta apenas para métricas no formato do Prometheus, use o arquivo secundário do Prometheus para o Cloud Run a fim de coletar métricas instrumentadas usando Bibliotecas de cliente do Prometheus ou o SDK do OpenTelemetry.

Registros

Configure seu app para gerar registros estruturados em JSON para stdout e stderr. Para ver uma lista de frameworks, consulte Frameworks de geração de registros recomendados.

O Cloud Run coleta registros gravados em stdout e stderr automaticamente. Para mais informações, acesse Gravar registros de contêiner.

Cloud Functions

Para informações gerais sobre o Cloud Functions, consulte Visão geral do Cloud Functions.

Tipo Recomendação
Métricas A gravação direta de métricas não é compatível com o Cloud Functions. Para gerar métricas, recomendamos que você use as métricas com base em registros.
Traces Use o SDK e o exportador do Cloud Trace na sua linguagem.
Registros

Configure seu app para gerar registros estruturados em JSON para stdout e stderr. Para ver uma lista de frameworks, consulte Frameworks de geração de registros recomendados.

O Cloud Functions coleta registros gravados em stdout e stderr automaticamente. Para mais informações, consulte Visualizar e gravar registros de funções do Cloud.

App Engine

Para informações gerais sobre o App Engine, consulte Visão geral do App Engine.

Tipo Recomendação
Métricas Use o SDK e o exportador do Cloud Monitoring para seu idioma.
Traces Use o SDK e o exportador do Cloud Trace na sua linguagem.
Registros

Configure seu app para gerar registros estruturados em JSON para stdout e stderr. Para ver uma lista de frameworks, consulte Frameworks de geração de registros recomendados.

O App Engine coleta registros gravados em stdout e stderr automaticamente. Saiba mais em Gravar e visualizar registros.

Frameworks de geração de registros recomendados

Para coletar registros, recomendamos que você use um framework que possa ser configurado para gerar objetos JSON serializados para stdout, stderr ou um arquivo. O agente do Logging, integrado ou instalado, raspa o arquivo e grava registros estruturados para o Cloud Logging. Para gravar dados de registro, recomendamos o seguinte:

Amostras de código

Para amostras de código que ilustram como instrumentar seu aplicativo para enviar telemetria ao Google Cloud, consulte:

Referências ao OpenTelemetry

Esta seção fornece links para o SDK do OpenTelemetry e os exportadores para OTLP, Cloud Trace e Cloud Monitoring.

Referências gerais:

Go

Java

JavaScript

Python