Vista geral do coletor OpenTelemetry criado pela Google

Este conjunto de documentos descreve o Google-Built OpenTelemetry Collector e explica como implementar o coletor para recolher rastreios, métricas e registos do OpenTelemetry Protocol (OTLP) de aplicações instrumentadas e exportar esses dados para o Google Cloud Observability e outros backends.

O coletor OpenTelemetry criado pela Google é a compilação de código aberto da Google do coletor OpenTelemetry, criado a partir de componentes a montante através de uma cadeia de fornecimento segura na infraestrutura da Google. O OpenTelemetry, que faz parte da Cloud Native Computing Foundation, fornece APIs, bibliotecas e SDKs de código aberto para recolher rastreios distribuídos, métricas e registos para a monitorização de aplicações.

O coletor OpenTelemetry integrado na Google permite-lhe enviar rastreios, métricas e registos OTLP correlacionados para o Google Cloud Observability e outros backends a partir de aplicações instrumentadas através de SDKs OpenTelemetry. O coletor também captura metadados para recursos, para que possa correlacionar os dados de desempenho da aplicação com os dados de telemetria da infraestrutura. Google Cloud A utilização do coletor criado pela Google com a observabilidade do Google Cloud fornece estatísticas para melhorar o desempenho das suas aplicações e infraestrutura. Para mais informações sobre o coletor, consulte o artigo Descrição do coletor OpenTelemetry criado pela Google.

A partir da versão 0.134.0, o coletor OpenTelemetry criado pela Google é criado de acordo com a norma Supply-chain Levels for Software Artifacts (SLSA) nível 3. O código do coletor e as respetivas dependências são analisados continuamente para detetar vulnerabilidades. Para mais informações, consulte as Funcionalidades de segurança.

Use o coletor OpenTelemetry integrado da Google

Pode usar o coletor criado pela Google para recolher dados de telemetria das suas aplicações em execução no Kubernetes (incluindo o Google Kubernetes Engine), no SO otimizado para contentores ou em contentores autónomos. Os documentos nesta secção descrevem como configurar e implementar o coletor criado pela Google nos seguintes ambientes:

Se não tiver uma aplicação pronta para usar o Collector, pode implementar a demonstração do OpenTelemetry com o Collector criado pela Google. Para mais informações, consulte o artigo Experimente a demonstração do OpenTelemetry.

Para obter informações sobre a utilização da instrumentação OpenTelemetry para gerar rastreios, métricas e registos a partir das suas aplicações, consulte os seguintes documentos:

Descrição do coletor OpenTelemetry criado pela Google

O coletor OpenTelemetry criado pela Google é criado através de componentes e ferramentas OpenTelemetry a montante, ao mesmo tempo que é criado e obtido inteiramente a partir da infraestrutura de criação, teste e lançamento da Google (Artifact Registry). O coletor criado pela Google é compatível com uma compilação do coletor OpenTelemetry do repositório upstream. Também é alojado como uma imagem Docker para uma implementação flexível em qualquer sistema baseado em contentores, incluindo o Kubernetes e o GKE.

O coletor criado pela Google fornece um pacote preparado pela Google com os componentes de que a maioria dos utilizadores vai precisar para uma experiência de observabilidade avançada no Google Cloud. Não precisa de selecionar componentes e criar manualmente o seu próprio coletor. Ao usar o coletor criado pela Google, pode:

  • Recolha metadados para Google Cloud recursos para poder correlacionar dados de desempenho da aplicação com dados de telemetria da infraestrutura.
  • Encaminhe os dados de telemetria para o Google Cloud Observability ou o back-end da sua escolha através de exportadores, incluindo back-ends que suportam nativamente o OpenTelemetry.
  • Simplifique a integração com configurações recomendadas e automonitorização de práticas recomendadas, incluindo verificações de funcionamento e processamento em lote.
  • Use a imagem do Docker alojada para uma implementação flexível em qualquer sistema baseado em contentores, incluindo o Kubernetes e o GKE.

Práticas recomendadas

O OpenTelemetry mantém uma lista de práticas recomendadas para configurar o OpenTelemetry Collector e para dimensionar o coletor. Esta secção apresenta algumas recomendações adicionais.

Use a extensão de verificação do estado

A extensão de verificação de estado ativa um URL HTTP que pode ser sondado para verificar o estado do OpenTelemetry Collector. A utilização desta extensão oferece as seguintes vantagens:

  • Deteção precoce de problemas: as verificações de estado facilitam a monitorização proativa do estado do coletor, o que permite a deteção de potenciais problemas antes que estes afetem negativamente os dados de telemetria. Esta medida preventiva ajuda a garantir a fiabilidade do pipeline de observabilidade.
  • Resolução de problemas melhorada: quando ocorrem problemas, as verificações de estado oferecem estatísticas valiosas sobre o estado atual do coletor. Estas informações simplificam o processo de diagnóstico e resolução, reduzindo o tempo de inatividade e simplificando os esforços de resolução de problemas.
  • Fiabilidade melhorada: a monitorização contínua do estado de funcionamento do coletor garante um funcionamento consistente e evita falhas inesperadas. Esta medida proativa melhora a fiabilidade geral do sistema de observabilidade e minimiza o risco de perda de dados ou lacunas nos dados de telemetria.

No Kubernetes e no GKE, a extensão de verificação de estado é compatível com as sondas de atividade e de disponibilidade do Kubernetes. Para informações sobre a configuração destas sondas, consulte o artigo Práticas recomendadas do Kubernetes: configurar verificações de funcionamento com sondas de disponibilidade e atividade.

No Cloud Run, uma única extensão de verificação de estado pode servir como o ponto final para as sondas de arranque e de atividade na configuração do serviço do Cloud Run.

Use o processador em lote

O processador de lotes recolhe rastreios, métricas ou registos e agrupa-os em lotes para transmissão. A utilização do processador de lotes oferece as seguintes vantagens:

  • Minimiza as ligações de saída: ao agrupar as transmissões de dados em lotes, o OpenTelemetry Collector reduz significativamente o número de ligações de saída. Esta abordagem consolidada reduz a utilização da quota e tem o potencial de reduzir os custos gerais da rede.
  • Compressão de dados melhorada: o processamento em lote permite uma compressão de dados mais eficiente, reduzindo o tamanho geral dos dados transmitidos.
  • Flexibilidade na estratégia de processamento em lote: o suporte para o processamento em lote baseado no tamanho e no tempo oferece flexibilidade para otimizar em função de diferentes cenários. O processamento em lote baseado no tamanho garante que os lotes atingem um determinado tamanho antes de serem enviados, enquanto o processamento em lote baseado no tempo envia os lotes após um intervalo de tempo específico. Esta flexibilidade permite-lhe ajustar a estratégia de processamento em lote para se alinhar com as características específicas dos seus dados e os requisitos particulares da sua aplicação.

Use o fornecedor googlesecretmanager

O fornecedor googlesecretmanager permite-lhe armazenar informações confidenciais necessárias pelos ficheiros de configuração no Secret Manager, um serviço concebido especificamente para armazenar, aceder e gerir dados confidenciais em segurança. A utilização do fornecedor googlesecretmanager oferece as seguintes vantagens:

  • Segurança melhorada: os seus ficheiros de configuração não contêm informações confidenciais, como palavras-passe.
  • Risco de exposição reduzido: o Secret Manager obtém segredos durante a inicialização do coletor, o que impede que os segredos de texto simples sejam gravados acidentalmente nos registos.

Para obter informações sobre a utilização deste fornecedor, consulte o artigo Faça a gestão de segredos na configuração do coletor.

Notas de lançamento

O coletor OpenTelemetry criado pela Google tem versões sincronizadas com o coletor OpenTelemetry a montante. A versão atual é v0.137.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.137.0. Para cada nova versão, as alterações mais relevantes para os Google Cloud utilizadores são incluídas nesta página.

Funcionalidades de segurança

A partir da versão 0.134.0, o coletor OpenTelemetry criado pela Google oferece imagens Docker criadas de acordo com a norma Supply-chain Levels for Software Artifacts (SLSA) nível 3 e oferece as seguintes funcionalidades de segurança:

  • Compilação segura: o pipeline de CI/CD para o coletor OpenTelemetry criado pela Google gera atestações para cada lançamento de imagem de contentor. Estas atestações incluem uma atestação de resumo de validação (VSA), que é anexada como um recurso a cada lançamento no GitHub.

  • Análise e aplicação de patches de vulnerabilidades: o coletor OpenTelemetry criado pela Google é analisado continuamente para detetar vulnerabilidades e esforçamo-nos por seguir os SLOs da FedRamp para a remediação de vulnerabilidades. Damos prioridade à segurança dos utilizadores ao reconstruir regularmente o coletor com dependências de pacotes atualizadas. O nosso pipeline de CI/CD foi concebido para integrar rapidamente correções de segurança críticas e atualizações de dependências. Este compromisso minimiza a exposição a vulnerabilidades conhecidas, oferecendo-lhe um produto continuamente seguro e atualizado.

  • Lançamentos validados e seguros: aplicamos políticas de integridade do código internas da Google para garantir que apenas os artefactos que cumprem os nossos critérios de segurança rigorosos são lançados para produção. Este processo significa que recebe sempre software que passou com êxito em verificações de segurança internas extensivas.

Capacidade de receber apoio técnico

Para todos os problemas do lado do cliente do OpenTelemetry Collector criado pela Google, incluindo pedidos de funcionalidades, relatórios de erros e perguntas gerais, abra um problema no repositório do GitHub adequado. Estes repositórios são monitorizados pela Google, e os problemas são analisados e resolvidos mediante o melhor esforço possível.

  • Repositório de pacotes do coletor OpenTelemetry criado pela Google, para problemas relacionados com o seguinte:

    • Embalagem
    • Implementação em Google Cloud
    • Autenticação no Google Cloud
    • Pedidos de adição de novos componentes do OpenTelemetry
  • Repositório OpenTelemetry Collector Contrib, para problemas relacionados com o seguinte:

    • Componentes OpenTelemetry específicos da Google, por exemplo:
      • googlecloudexporter
      • googlemanagedprometheusexporter
      • googleclientauthextension
      • resourcedetectionprocessor
    • Componentes OpenTelemetry não específicos da Google geridos pela comunidade a montante

Para problemas relacionados com a utilização dos serviços e APIs do Google Cloud Observability pelo Google-Built OpenTelemetry Collector, como erros de servidor ou quotas, contacte o apoio técnico do Google Cloud.

Preços

A implementação e a utilização do coletor OpenTelemetry criado pela Google não têm custos.

Quando envia dados de telemetria para o Google Cloud, a faturação é feita por volume de carregamento. Para obter informações sobre os custos associados ao carregamento de rastreios, registos e métricas do Google Cloud Managed Service for Prometheus, consulte os preços da observabilidade do Google Cloud.

Experimente a demonstração do OpenTelemetry

Esta secção descreve como implementar e executar a demonstração do OpenTelemetry para Google Cloud com o coletor OpenTelemetry criado pela Google.

Esta secção é opcional. Se estiver pronto para integrar o coletor criado pela Google nas suas próprias implementações, consulte os seguintes documentos:

Antes de começar

A demonstração do OpenTelemetry requer um cluster do Kubernetes com a Workload Identity Federation configurada. Para obter informações sobre a configuração da federação de identidade da carga de trabalho para a demonstração do OpenTelemetry, consulte os pré-requisitos do Workload Identity.

Atualize a demonstração para usar o coletor criado pela Google

Por predefinição, a demonstração do OpenTelemetry usa o OpenTelemetry Collector a montante. Para usar o coletor OpenTelemetry integrado na Google, faça o seguinte:

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

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

    cd kubernetes
    
  3. Edite o ficheiro opentelemetry-demo.yaml para substituir a linha da imagem do coletor a usar. A linha tem o seguinte aspeto, 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.137.0, para que a linha tenha o seguinte aspeto e, em seguida, guarde o ficheiro:

    image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.137.0"
    

Implemente a demonstração

Implemente a demonstração aplicando o ficheiro opentelemetry-demo.yaml atualizado:

kubectl apply --namespace otel-demo -f opentelemetry-demo.yaml

Ligue-se à demonstração

Depois de aplicar a configuração atualizada, pode encaminhar os dados para uma porta local. Por exemplo, para estabelecer ligação à demonstração em localhost:8080, execute o seguinte comando:

kubectl port-forward --n otel-demo svc/opentelemetry-demo-frontendproxy 8080:8080

Em seguida, pode usar o navegador para estabelecer ligação à demonstração em localhost:8080.

Ver telemetria

A demonstração do OpenTelemetry envia métricas, rastreios e registos para o Google Cloud usando o coletor do OpenTelemetry integrado na Google. Para informações sobre a telemetria específica enviada pela demonstração, consulte a secção Ver telemetria na documentação da demonstração.

Veja as suas métricas

O coletor OpenTelemetry criado pela Google recolhe métricas do Prometheus que pode ver através do Explorador de métricas. As métricas recolhidas dependem da instrumentação da app, embora o coletor criado pela Google também escreva algumas métricas próprias.

Para ver as métricas recolhidas pelo Google-Built OpenTelemetry Collector, faça o seguinte:
  1. Na Google Cloud consola, aceda à página  Explorador de métricas:

    Aceda ao Metrics Explorer

    Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.

  2. Na barra de ferramentas da Google Cloud consola, selecione o seu Google Cloud projeto. Para configurações do App Hub, selecione o projeto anfitrião do App Hub ou o projeto de gestão da pasta com apps ativadas.
  3. No elemento Métrica, expanda o menu Selecionar uma métrica, introduza Prometheus Target na barra de filtros e, de seguida, use os submenus para selecionar um tipo de recurso e uma métrica específicos:
    1. No menu Recursos ativos, selecione Alvo do Prometheus.
    2. Para selecionar uma métrica, use os menus Categorias de métricas ativas e Métricas ativas. As métricas recolhidas pelo Google-Built OpenTelemetry Collector têm o prefixo prometheus.googleapis.com.
    3. Clique em Aplicar.
  4. Para adicionar filtros que removem séries cronológicas dos resultados da consulta, use o elemento Filter.

  5. Configure a forma como os dados são vistos.

    Quando as medições de uma métrica são cumulativas, o explorador de métricas normaliza automaticamente os dados medidos pelo período de alinhamento, o que resulta na apresentação de uma taxa no gráfico. Para mais informações, consulte o artigo Tipos, tipos e conversões.

    Quando são medidos valores inteiros ou duplos, como com as métricas counter, o explorador de métricas soma automaticamente todas as séries cronológicas. Para alterar este comportamento, defina o primeiro menu da entrada Agregação como Nenhuma.

    Para mais informações sobre como configurar um gráfico, consulte o artigo Selecione métricas quando usar o explorador de métricas.

Veja os seus rastreios

Para ver os dados de rastreio, faça o seguinte:

  1. Na Google Cloud consola, aceda à página Explorador de rastreios:

    Aceda ao Explorador de rastreios

    Também pode encontrar esta página através da barra de pesquisa.

  2. Na barra de ferramentas da Google Cloud consola, selecione o seu Google Cloud projeto. Para configurações do App Hub, selecione o projeto anfitrião ou o projeto de gestão do App Hub.
  3. Na secção da tabela da página, selecione uma linha.
  4. No gráfico de Gantt no painel Detalhes do rastreio, selecione um intervalo.

    É aberto um painel que apresenta informações sobre o pedido rastreado. Estes detalhes incluem o método, o código de estado, o número de bytes e o agente do utilizador do autor da chamada.

  5. Para ver os registos associados a este rastreio, selecione o separador Registos e eventos.

    O separador mostra registos individuais. Para ver os detalhes da entrada do registo, expanda a entrada do registo. Também pode clicar em Ver registos e ver o registo através do Explorador de registos.

Para mais informações sobre como usar o explorador do Cloud Trace, consulte o artigo Encontre e explore rastreios.

Veja os seus registos

No Explorador de registos, pode inspecionar os seus registos e também ver rastreios associados, quando existirem.

  1. Na Google Cloud consola, aceda à página Explorador de registos:

    Aceda ao Explorador de registos

    Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é Registo.

  2. Localize uma entrada de registo na sua app instrumentada. Para ver os detalhes, expanda a entrada de registo.

  3. Clique em Rastreios numa entrada de registo com uma mensagem de rastreio e, de seguida, selecione Ver detalhes do rastreio.

    É aberto um painel Detalhes do rastreio que apresenta o rastreio selecionado.

Para mais informações sobre a utilização do Explorador de registos, consulte o artigo Veja registos através do Explorador de registos.