Este conjunto de documentos descreve o coletor OpenTelemetry criado pelo Google e explica como implantar o coletor para coletar traces, métricas e registros do protocolo OpenTelemetry (OTLP) de aplicativos instrumentados e exportar esses dados para o Google Cloud Observability e outros back-ends.
O OpenTelemetry Collector criado pelo Google é um build de código aberto pronto para produção do OpenTelemetry Collector upstream, criado com componentes upstream do OpenTelemetry Collector. O OpenTelemetry, que faz parte da Cloud Native Computing Foundation, fornece APIs, bibliotecas e SDKs de código aberto para coletar traces, métricas e registros distribuídos para monitoramento de aplicativos.
O coletor do OpenTelemetry criado pelo Google permite enviar traces, métricas e registros do OTLP correlacionados para o Google Cloud Observability e outros back-ends de aplicativos instrumentados usando SDKs do OpenTelemetry. O coletor também captura metadados para recursos Google Cloud , permitindo correlacionar dados de desempenho de aplicativos com dados de telemetria de infraestrutura. Usar o coletor criado pelo Google com o Google Cloud Observability fornece insights para melhorar o desempenho dos seus aplicativos e da infraestrutura. Para mais informações sobre o coletor, consulte Descrição do coletor OpenTelemetry criado pelo Google.
Usar o OpenTelemetry Collector criado pelo Google
É possível usar o coletor criado pelo Google para coletar dados de telemetria dos aplicativos em execução no Kubernetes (incluindo o Google Kubernetes Engine), no Container-Optimized OS ou em contêineres autônomos. Os documentos nesta seção descrevem como configurar e implantar o coletor criado pelo Google nos seguintes ambientes:
Se você não tiver um aplicativo pronto para usar o coletor, poderá implantar a demonstração do OpenTelemetry com o coletor criado pelo Google. Para mais informações, consulte Testar a demonstração do OpenTelemetry.
Para informações sobre como usar a instrumentação do OpenTelemetry para gerar rastreamentos, métricas e registros dos seus aplicativos, consulte os seguintes documentos:
- Visão geral da instrumentação
- Escolher uma abordagem de instrumentação para seu aplicativo
- Gerar traces e métricas com a instrumentação do OpenTelemetry
Descrição do coletor do OpenTelemetry criado pelo Google
O Google-Built OpenTelemetry Collector é criado usando componentes e ferramentas upstream do OpenTelemetry, sendo criado e recuperado inteiramente da infraestrutura de build-teste-lançamento do Google (Artifact Registry). O coletor criado pelo Google é compatível com uma build do OpenTelemetry Collector do repositório upstream. Ele também é hospedado como uma imagem do Docker para implantação flexível em qualquer sistema baseado em contêineres, incluindo Kubernetes e GKE.
O coletor criado pelo Google oferece um pacote selecionado pelo Google com os componentes que a maioria dos usuários vai precisar para uma experiência de observabilidade completa no Google Cloud. Você não precisa selecionar componentes e criar seu próprio coletor manualmente. Ao usar o coletor criado pelo Google, você pode:
- Colete metadados para recursos Google Cloud para correlacionar dados de desempenho de aplicativos com dados de telemetria de infraestrutura.
- Roteie dados de telemetria para o Google Cloud Observability ou o back-end de sua escolha usando exportadores, incluindo back-ends que oferecem suporte nativo ao OpenTelemetry.
- Simplifique a integração com configurações recomendadas e automonitoramento de práticas recomendadas, incluindo verificações de integridade e processamento em lote.
- Use a imagem Docker hospedada para implantação flexível em qualquer sistema baseado em contêineres, incluindo Kubernetes e GKE.
Práticas recomendadas
O OpenTelemetry mantém uma lista de práticas recomendadas para configurar o OpenTelemetry Collector e para escalonar o Collector. Esta seção faz algumas recomendações adicionais.
Usar a extensão de verificação de integridade
A extensão de verificação de integridade ativa um URL HTTP que pode ser investigado para verificar o status do coletor do OpenTelemetry. Usar essa extensão oferece os seguintes benefícios:
- Detecção precoce de problemas: as verificações de integridade facilitam o monitoramento proativo do status do coletor, permitindo a detecção de possíveis problemas antes que eles afetem negativamente os dados de telemetria. Essa medida preventiva ajuda a garantir a confiabilidade do pipeline de observabilidade.
- Solução de problemas aprimorada: quando ocorrem problemas, as verificações de integridade oferecem insights valiosos sobre o estado atual do coletor. Essas informações simplificam o processo de diagnóstico e resolução, reduzindo o tempo de inatividade e otimizando os esforços de solução de problemas.
- Confiabilidade aprimorada: o monitoramento contínuo da integridade do coletor garante uma operação consistente e evita falhas inesperadas. Essa medida proativa aumenta a confiabilidade geral do sistema de observabilidade e minimiza o risco de perda de dados ou falhas nos dados de telemetria.
No Kubernetes e no GKE, a extensão de verificação de integridade é compatível com as sondagens de atividade e prontidão do Kubernetes. Para informações sobre como configurar essas sondagens, consulte Práticas recomendadas do Kubernetes: como configurar verificações de integridade com sondagens de atividade e prontidão.
No Cloud Run, uma única extensão de verificação de integridade pode servir como o endpoint para sondagens de inicialização e atividade na configuração do serviço do Cloud Run.
Usar o processador em lote
O processador em lote coleta traces, métricas ou registros e os agrupa em lotes para transmissão. O uso do processador em lote oferece os seguintes benefícios:
- Minimiza as conexões de saída: ao agrupar as transmissões de dados em lotes, o OpenTelemetry Collector reduz significativamente o número de conexões de saída. Essa abordagem consolidada reduz o uso da cota e tem o potencial de diminuir os custos gerais da rede.
- Compactação de dados aprimorada: o agrupamento em lotes permite uma compactação de dados mais eficiente, reduzindo o tamanho geral dos dados transmitidos.
- Flexibilidade na estratégia de loteamento: o suporte ao loteamento com base no tamanho e no tempo oferece flexibilidade para otimizar diferentes cenários. O agrupamento em lotes com base no tamanho garante que os lotes atinjam um determinado tamanho antes de serem enviados, enquanto o agrupamento com base no tempo envia os lotes após um intervalo de tempo específico. Essa flexibilidade permite ajustar a estratégia de agrupamento para se alinhar às características específicas dos seus dados e aos requisitos particulares do seu aplicativo.
Usar o provedor googlesecretmanager
O provedor googlesecretmanager
permite
armazenar informações sensíveis necessárias para arquivos de configuração no
Secret Manager,
um serviço projetado especificamente para armazenar, acessar e gerenciar com segurança
dados sensíveis. Usar o provedor googlesecretmanager
oferece os
seguintes benefícios:
- Segurança aprimorada: seus arquivos de configuração não contêm informações sensíveis, como senhas.
- Redução do risco de exposição: o Secret Manager busca secrets durante a inicialização do coletor, o que evita que secrets de texto simples sejam gravados acidentalmente em registros.
Para informações sobre como usar esse provedor, consulte Gerenciar secrets na configuração do coletor.
Notas de lançamento
O coletor do OpenTelemetry criado pelo Google tem a versão sincronizada com o coletor upstream do OpenTelemetry. A versão atual é v0.129.0. A imagem do Docker correspondente, armazenada no Artifact Registry, é us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.129.0. Para cada nova versão, as mudanças mais relevantes para os usuários do Google Cloud são incluídas nessa página.
0.129.0:
- Coletor do OpenTelemetry criado pelo Google: atualize para a versão v0.129.0 do OpenTelemetry Collector Core e do OpenTelemetry Collector Contrib.
- Avisos de problemas conhecidos:
- Receptor do Prometheus: a autenticação básica para URLs parou de funcionar (link do problema);
- Esse problema afeta as versões 0.127.0, 0.128.0 e 0.129.0.
- Para mitigar, use a versão 0.126.0 ou anterior.
- Receptor do Prometheus: a autenticação básica para URLs parou de funcionar (link do problema);
- Repositório principal do coletor do OpenTelemetry: Notas da versão (v0.129.0)
- Repositório contrib do coletor do OpenTelemetry: Notas da versão (v0.129.0)
0.128.0:
- Coletor do OpenTelemetry criado pelo Google: atualize para a versão v0.128.0 do OpenTelemetry Collector Core e do OpenTelemetry Collector Contrib.
- Repositório principal do coletor do OpenTelemetry: Notas da versão (v0.127.0)
- Repositório OpenTelemetry Collector Contrib: Notas da versão (v0.127.0)
0.127.0:
- Coletor do OpenTelemetry criado pelo Google: atualize para a versão v0.127.0 do OpenTelemetry Collector Core e do OpenTelemetry Collector Contrib.
- Repositório principal do coletor do OpenTelemetry: Notas da versão (v0.127.0)
- Repositório OpenTelemetry Collector Contrib: Notas da versão (v0.127.0)
0.126.0:
- Coletor do OpenTelemetry criado pelo Google: atualize para a versão v0.126.0 do OpenTelemetry Collector Core e do OpenTelemetry Collector Contrib.
- Novos componentes foram adicionados:
- Processadores:
metricstarttime
- Provedores:
googlesecretmanager
. Para informações sobre como usar esse provedor para eliminar secrets de texto simples na configuração do coletor, consulte Gerenciar secrets na configuração do coletor.
- Processadores:
- Repositório principal do OpenTelemetry Collector:
- Repositório Contrib do coletor do OpenTelemetry:
0.124.1:
- Coletor do OpenTelemetry criado pelo Google: atualize para a versão 0.124.0 do OpenTelemetry Collector Core e para a versão 0.124.1 do OpenTelemetry Collector Contrib.
- Novos componentes foram adicionados:
- Destinatários:
dockerstats
,jmx
,redis
,statsd
,syslog
- Processadores:
metricsgeneration
- Destinatários:
- Repositório principal do OpenTelemetry Collector:
- Repositório Contrib do coletor do OpenTelemetry:
0.122.1:
- Coletor do OpenTelemetry criado pelo Google: atualize para a versão v0.122.1 do OpenTelemetry Collector Core e para a versão v0.122.0 do OpenTelemetry Collector Contrib.
- Adição de um novo componente:
googleclientauthextension
- Avisos de problemas conhecidos:
- Se você usa a exportação OTLP da autotelemetria do coletor, observe o seguinte problema do OpenTelemetry Collector: https://github.com/open-telemetry/opentelemetry-collector/issues/12701
- Repositório principal do OpenTelemetry Collector: Notas da versão
- Repositório OpenTelemetry Collector Contrib: Notas da versão
0.121.0:
- Coletor do OpenTelemetry criado pelo Google: lançamento inicial
- Repositório principal do OpenTelemetry Collector: Notas da versão
- Repositório OpenTelemetry Collector Contrib: Notas da versão
Compatibilidade
Para todos os problemas do lado do cliente do OpenTelemetry Collector criados pelo Google, incluindo solicitações de recursos, relatórios de bugs e perguntas gerais, abra um problema no repositório do GitHub apropriado. Esses repositórios são monitorados pelo Google, e os problemas são triados e resolvidos da melhor maneira possível.
Repositório de pacotes do Coletor do OpenTelemetry criado pelo Google, para problemas relacionados a:
- Embalagem
- Implantação em Google Cloud
- Autenticação no Google Cloud
- Solicitações para adicionar novos componentes do OpenTelemetry
Repositório OpenTelemetry Collector Contrib (em inglês), para problemas relacionados a:
- Componentes do OpenTelemetry específicos do Google, por exemplo:
googlecloudexporter
googlemanagedprometheusexporter
googleclientauthextension
resourcedetectionprocessor
- Componentes do OpenTelemetry não específicos do Google gerenciados pela comunidade upstream
- Componentes do OpenTelemetry específicos do Google, por exemplo:
Em caso de problemas relacionados ao uso de serviços e APIs do Google Cloud Observability pelo coletor OpenTelemetry criado pelo Google, como erros de servidor ou cotas, entre em contato com o Customer Care do Google Cloud.
Preços
Não há cobrança para implantar e usar o coletor OpenTelemetry criado pelo Google.
Quando você envia dados de telemetria para Google Cloud, a cobrança é feita pelo volume de ingestão. Para informações sobre os custos associados à ingestão de rastreamentos, registros e métricas do Google Cloud Managed Service para Prometheus, consulte Preços do Google Cloud Observability.
Testar a demonstração do OpenTelemetry
Esta seção descreve como implantar e executar a demonstração do OpenTelemetry para Google Cloud com o coletor do OpenTelemetry criado pelo Google.
Esta seção é opcional. Se você estiver pronto para integrar o coletor criado pelo Google às suas próprias implantações, consulte os seguintes documentos:
- Implantar o coletor no Google Kubernetes Engine
- Implante o coletor no Container-Optimized OS
- Implante o coletor no Cloud Run.
Antes de começar
A demonstração do OpenTelemetry exige um cluster do Kubernetes com a federação de identidade da carga de trabalho configurada. Para informações sobre como configurar a federação de identidade da carga de trabalho para a demonstração do OpenTelemetry, consulte Pré-requisitos da federação de identidade da carga de trabalho.
Atualizar a demonstração para usar o coletor criado pelo Google
Por padrão, a demonstração do OpenTelemetry usa o OpenTelemetry Collector upstream. Para usar o coletor do OpenTelemetry criado pelo Google, faça o seguinte:
Clone o repositório de demonstração da OpenTelemetry:
git clone https://github.com/GoogleCloudPlatform/opentelemetry-demo.git
Acesse o diretório
kubernetes
.cd kubernetes
Edite o arquivo
opentelemetry-demo.yaml
para substituir a linha da imagem do coletor a ser usada. A linha será parecida com esta, embora a versão possa ser diferente:image: "otel/opentelemetry-collector-contrib:0.108.0"
Substitua o valor do campo
image:
porus-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.129.0
para que a linha fique assim e salve o arquivo:image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.129.0"
Implantar a demonstração
Implante a demonstração aplicando o arquivo opentelemetry-demo.yaml
atualizado:
kubectl apply --namespace otel-demo -f opentelemetry-demo.yaml
Conectar-se à demonstração
Depois de aplicar a configuração atualizada, encaminhe os dados para uma porta local. Por exemplo, para se conectar à demonstração em localhost:8080
,
execute o seguinte comando:
kubectl port-forward --n otel-demo svc/opentelemetry-demo-frontendproxy 8080:8080
Em seguida, use o navegador para se conectar à demonstração em localhost:8080
.
Ver telemetria
A demonstração do OpenTelemetry envia métricas, rastreamentos e registros para Google Cloud usando o coletor OpenTelemetry criado pelo Google. Para informações sobre a telemetria específica enviada pela demonstração, consulte Como ver a telemetria na documentação da demonstração.
Ver suas métricas
O coletor do OpenTelemetry criado pelo Google coleta métricas do Prometheus que podem ser visualizadas usando o Metrics Explorer. As métricas coletadas dependem da instrumentação do app, mas o coletor criado pelo Google também grava algumas métricas próprias.
Para conferir as métricas coletadas pelo coletor do OpenTelemetry criado pelo Google, faça o seguinte:-
No console Google Cloud , acesse a página leaderboard Metrics Explorer:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Na barra de ferramentas do console Google Cloud , selecione seu projeto Google Cloud . Para configurações do App Hub, selecione o projeto de host do App Hub ou o projeto de gerenciamento da pasta habilitada para apps.
- No elemento Metric, expanda o menu Selecionar uma métrica,
digite
Prometheus Target
na barra de filtro e use os submenus para selecionar um tipo de recurso e métrica específicos:- No menu Active resources, selecione Prometheus Target.
- Para selecionar uma métrica, use os menus Categorias de métricas ativas e Métricas ativas.
As métricas coletadas pelo OpenTelemetry Collector criado pelo Google têm o prefixo
prometheus.googleapis.com
. - Clique em Aplicar.
- Configure a visualização dos dados.
Quando as medições de uma métrica são cumulativas, o Metrics Explorer normaliza automaticamente os dados medidos pelo período de alinhamento, o que resulta na exibição de uma taxa no gráfico. Para mais informações, consulte Tipos, tipos e conversões.
Quando valores inteiros ou duplos são medidos, como acontece com as métricas
counter
, o Metrics Explorer soma automaticamente todas as série temporal. Para mudar esse comportamento, defina o primeiro menu da entrada Agregação como Nenhum.Para mais informações sobre como configurar um gráfico, consulte Selecionar métricas ao usar o Metrics Explorer.
Visualizar os rastros
Para visualizar os dados de trace, faça o seguinte:
-
No console Google Cloud , acesse a página Explorador de traces:
Acessar o Explorador de traces
Também é possível encontrar essa página usando a barra de pesquisa.
- Na barra de ferramentas do console Google Cloud , selecione seu projeto Google Cloud . Para configurações do App Hub, selecione o projeto host do App Hub ou o projeto de gerenciamento da pasta com app ativado.
- Na seção de tabela da página, selecione uma linha.
No diagrama de Gantt no painel Detalhes do trace, selecione um período.
Um painel é aberto com informações sobre a solicitação rastreada. Esses detalhes incluem o método, o código de status, o número de bytes e o user agent do autor da chamada.
Para visualizar os registros associados a esse trace, selecione a guia Registros e eventos.
A guia mostra registros individuais. Para exibir os detalhes da entrada de registro, expanda a entrada de registro. Também é possível clicar em Ver registros e ver o registro usando a Análise de registros.
Para mais informações sobre como usar o explorador do Cloud Trace, consulte Encontrar e explorar traces.
Acessar os registros
Na Análise de registros, é possível inspecionar os registros e visualizar os traces associados, quando eles existirem.
-
No console Google Cloud , acesse a página Análise de registros.
Acessar a Análise de registros
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Logging.
Localize uma entrada de registro do app instrumentado. Para conferir os detalhes, expanda a entrada.
Clique em
Traces em uma entrada de registro com uma mensagem de trace e selecione View trace details.
O painel Detalhes do trace é aberto e mostra o trace selecionado.
Para mais informações sobre como usar a Análise de registros, consulte Ver registros usando a Análise de registros.