Visão geral do coletor do OpenTelemetry criado pelo Google

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:

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.

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

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:

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:

  1. Clone o repositório de demonstração da OpenTelemetry:

    git clone https://github.com/GoogleCloudPlatform/opentelemetry-demo.git
    
  2. Acesse o diretório kubernetes.

    cd kubernetes
    
  3. 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: por us-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:
  1. No console Google Cloud , acesse a página  Metrics Explorer:

    Acesse o Metrics explorer

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.

  2. 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.
  3. 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:
    1. No menu Active resources, selecione Prometheus Target.
    2. 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.
    3. Clique em Aplicar.
  4. 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:

  1. 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.

  2. 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.
  3. Na seção de tabela da página, selecione uma linha.
  4. 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.

  5. 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.

  1. 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.

  2. Localize uma entrada de registro do app instrumentado. Para conferir os detalhes, expanda a entrada.

  3. 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.