Escolha uma abordagem de instrumentação

Esta página contém recomendações para instrumentar a sua app em diferentes Google Cloud plataformas, como o Google Kubernetes Engine (GKE) e o Cloud Run. Se a sua app ainda não estiver instrumentada, use estas recomendações como orientação sobre como instrumentar a sua app para enviar dados de telemetria para o Google Cloud. As recomendações nesta página não são as únicas soluções, e outras abordagens podem funcionar. Para receber orientações adicionais, contacte o Google Cloud apoio técnico.

Existem recomendações para o seguinte:

Para ver informações sobre exemplos de instrumentação, consulte os documentos indicados na secção Exemplos de código.

GKE

Para obter informações gerais sobre o GKE, consulte o artigo Vista geral do GKE.

Tipo Recomendação
Métrica

Recomendamos que use o serviço gerido do Google Cloud para o Prometheus.

Para a instrumentação, faça um dos seguintes procedimentos:

Rastreios

Faça o seguinte:

  1. Implemente o coletor OpenTelemetry criado pela Google no Google Kubernetes Engine.

    O coletor recebe dados de rastreio do exportador OTLP no processo dos SDKs, processa esses dados e, em seguida, envia os dados processados para o seu Google Cloud projeto através da API Telemetry (OTLP).

  2. Use o SDK OpenTelemetry e o exportador OTLP para o seu idioma.
Registos

Configure a sua app para gerar registos estruturados em JSON para stdout e stderr. Para ver uma lista de frameworks, consulte o artigo Frameworks de registo recomendados.

O GKE recolhe automaticamente registos escritos em stdout e stderr. Para mais informações, consulte o artigo Acerca dos registos do GKE.

Compute Engine

Para obter informações gerais sobre o Compute Engine, consulte o artigo Instâncias de máquinas virtuais.

Tipo Recomendação
Métricas e rastreios

Faça o seguinte:

  1. Use o agente de operações para recolher métricas e rastreios.

    Para ver um exemplo, consulte o artigo Recolha métricas e rastreios do protocolo OpenTelemetry (OTLP). Este guia descreve como configurar o agente de operações para receber métricas e rastrear dados dos exportadores OTLP no processo do SDK, transforma esses dados e, em seguida, envia-os para o seu Google Cloud projeto. Os dados de métricas são enviados através da API Cloud Monitoring e os dados de rastreio são enviados através da API Cloud Trace.

  2. Use o SDK OpenTelemetry e o exportador OTLP para o seu idioma.

Em alternativa, se quiser configurar a recolha apenas para métricas no formato Prometheus, use o recetor Prometheus do agente de operações para recolher métricas instrumentadas através das bibliotecas de cliente Prometheus ou do SDK OpenTelemetry.

Registos

Faça o seguinte:

  1. Configure a sua app para gerar registos estruturados em JSON num ficheiro. Para ver uma lista de frameworks, consulte o artigo Frameworks de registo recomendados.
  2. Instale o agente de operações e configure um recetor. Para ver um exemplo, consulte Registo de recetores.

Cloud Run

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

Tipo Recomendação
Métricas e rastreios

Faça o seguinte:

  1. Use o SDK OpenTelemetry e o exportador OTLP para o seu idioma.
  2. Implemente um sidecar do OpenTelemetry para recolher métricas e rastreios.

    Para ver exemplos, consulte os seguintes documentos:

  3. Para o seu serviço do Cloud Run, use a faturação baseada em instâncias. Com a faturação baseada em instâncias, a CPU é atribuída durante todo o ciclo de vida da instância, o que é necessário porque a instrumentação do OpenTelemetry faz o processamento em segundo plano. Para mais informações, consulte Definições de faturação para serviços do Cloud Run.

Em alternativa, se quiser configurar a recolha apenas para métricas no formato Prometheus, use o sidecar do Prometheus para o Cloud Run para recolher métricas instrumentadas através das bibliotecas de cliente do Prometheus ou do SDK OpenTelemetry.

Registos

Configure a sua app para gerar registos estruturados em JSON para stdout e stderr. Para ver uma lista de frameworks, consulte o artigo Frameworks de registo recomendados.

O Cloud Run recolhe automaticamente os registos escritos em stdout e stderr. Para mais informações, consulte o artigo Escreva registos de contentores.

Funções do Cloud Run

Para informações gerais sobre as funções do Cloud Run, consulte o artigo Vista geral das funções do Cloud Run.

Tipo Recomendação
Métrica A escrita direta de métricas não é suportada nas funções do Cloud Run. Pode gerar métricas baseadas em registos.
Rastreios Use o SDK OpenTelemetry e o exportador do Cloud Trace para a sua linguagem.
Registos

Configure a sua app para gerar registos estruturados em JSON para stdout e stderr. Para ver uma lista de frameworks, consulte o artigo Frameworks de registo recomendados.

As funções do Cloud Run recolhem automaticamente os registos escritos no stdout e no stderr. Para mais informações, consulte o artigo Funções do Cloud Run: descrição geral da monitorização e do registo.

App Engine

Para ver informações gerais sobre o App Engine, consulte o artigo Uma vista geral do App Engine.

Tipo Recomendação
Métrica Use o SDK OpenTelemetry e o exportador do Cloud Monitoring para o seu idioma.
Rastreios Use o SDK OpenTelemetry e o exportador do Cloud Trace para o seu idioma.
Registos

Configure a sua app para gerar registos estruturados em JSON para stdout e stderr. Para ver uma lista de frameworks, consulte o artigo Frameworks de registo recomendados.

O App Engine recolhe automaticamente registos escritos em stdout e stderr. Para mais informações, consulte o artigo Escreva e veja registos.

Frameworks de registo recomendados

Para recolher registos, recomendamos que use uma framework que possa ser configurada para gerar objetos JSON serializados para stdout, stderr ou para um ficheiro. O agente de registo, quer esteja integrado ou instalado, extrai informações do ficheiro e escreve registos estruturados para o Cloud Logging. Para escrever dados de registo, recomendamos o seguinte:

Exemplos de código

Quando instrumenta uma aplicação com bibliotecas OpenTelemetry, decide como os dados de telemetria são enviados para o seu Google Cloud projeto. Existem duas abordagens fundamentais:

  • Instrumenta o código da sua aplicação com o SDK OpenTelemetry e usa o exportador OTLP no processo incluído no SDK para enviar dados para um coletor OpenTelemetry. O coletor recebe dados do exportador em processamento e, em seguida, envia esses dados para o seu Google Cloud projeto. As alterações que faz ao código da sua aplicação são independentes do fornecedor. O coletor contém a lógica para enviar a telemetria para o seu projeto do Google Cloud .

  • Instrumenta o código da sua aplicação com o SDK OpenTelemetry e usa um exportador no processo que envia diretamente dados para o seu Google Cloud projeto. Algumas alterações que faz à sua aplicação são específicas do fornecedor. No entanto, não precisa de configurar nem implementar um coletor.

Recomendamos que use um coletor do OpenTelemetry para exportar os dados de telemetria quando o seu ambiente suporta a utilização de um coletor. Para alguns ambientes, tem de usar um exportador no processo que envia diretamente dados para o seu Google Cloud projeto.

Exemplos para exportação baseada em recolhedor

Para ver exemplos de instrumentação específicos do idioma, consulte os seguintes documentos:

Se tiver interesse em saber como os coletores são definidos e implementados, consulte a vista geral de amostras.

Exemplos de exportação direta com exportadores no processo

Referências ao OpenTelemetry

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

Referências gerais:

Ir

Java

JavaScript

Python