Este documento descreve como executar o Coletor do OpenTelemetry desenvolvido pelo Google no Container-Optimized OS para coletar registros, métricas e rastros do OTLP de aplicativos instrumentados e exportar esses dados para Google Cloud.
Antes de começar
A execução do coletor do OpenTelemetry requer os seguintes recursos:
Um projeto do Google Cloud com as APIs Cloud Monitoring, Cloud Trace e Cloud Logging ativadas.
Se você não tiver um projeto do Google Cloud, faça o seguinte:
No Console do Google Cloud, acesse Novo projeto:
No campo Project Name, insira um nome para o projeto e clique em Criar.
Acesse o Faturamento:
Selecione o projeto recém-criado se ele ainda não estiver selecionado na parte superior da página.
Você vai precisar escolher um perfil para pagamentos atual ou criar um novo.
As APIs Monitoring, Trace e Logging são ativadas por padrão para novos projetos.
Se você já tem um projeto do Google Cloud, verifique se as APIs Monitoring, Trace e Logging estão ativadas:
Uma máquina virtual (VM) do Container-Optimized OS. Se você não tiver uma VM do Container-Optimized OS, siga as instruções em Como criar e configurar instâncias.
Uma instalação do
gcloud
. Para informações sobre como instalar ogcloud
, consulte Instalar a CLI do Google Cloud.
Configurar permissões para o coletor
Por padrão, as VMs do SO otimizado para contêineres usam a
conta de serviço padrão do Compute Engine,
PROJECT_NUMBER-compute@developer.gserviceaccount.com
.
Essa conta de serviço geralmente tem os papéis do Identity and Access Management (IAM)
necessários para gravar as métricas e os registros descritos neste documento:
- Gravador de métricas do Monitoring (
roles/monitoring.metricWriter
) - Gravador de registro de Logging (
roles/logging.logWriter
)
Se você estiver configurando uma conta de serviço personalizada para sua instância, consulte Gerenciar o acesso a contas de serviço.
Implantar o coletor
Para executar o coletor do OpenTelemetry criado pelo Google, você precisa fornecer um arquivo de configuração para a VM do SO otimizada para contêineres. Você pode
usar a ferramenta cloud-init
para gravar um arquivo de configuração. Confira a seguir um arquivo cloud-init
recomendado para usar o coletor criado pelo Google:
Recomendamos que você crie uma rede bridge
do Docker para facilitar a comunicação entre o contêiner do coletor e qualquer outro contêiner no sistema que vai enviar a telemetria. Para criar a rede,
execute o seguinte comando:
docker network create -d bridge otel otel
Execute o contêiner do coletor com o seguinte comando:
O comando anterior faz o seguinte:
- Executa o contêiner do coletor em segundo plano.
- Anexa o contêiner do Collector à rede de ponte otel criada anteriormente. Outros contêineres podem ser conectados à ponte para enviar a telemetria.
- Monta o arquivo de configuração no contêiner para que ele possa ser acessado para configurar o coletor.
Configurar o coletor
Fornecemos uma configuração do coletor do OpenTelemetry para você usar com o coletor criado pelo Google. Essa configuração foi projetada para entregar grandes volumes de métricas, registros e traces do OTLP. Essa configuração também foi projetada para evitar problemas comuns de ingestão. Você pode adicionar à configuração, mas recomendamos que não remova elementos.
Esta seção descreve a configuração fornecida, os principais componentes, como exportadores, processadores, receptores e outros componentes disponíveis.
Configuração do coletor fornecida
Você pode encontrar a configuração do coletor no diretóriogoogle-built-opentelemetry-collector
do
repositório opentelemetry-operations-collector
:
Exportadoras
A configuração do coletor inclui os seguintes exportadores:
Exportador
googlecloud
para registros e traces. Esse exportador é configurado com um nome de registro padrão.Exportador
googlemanagedprometheus
para métricas. Esse exportador não requer nenhuma configuração, mas há opções de configuração. Para informações sobre as opções de configuração do exportadorgooglemanagedprometheus
, consulte Introdução ao Coletor do OpenTelemetry na documentação do Google Cloud Managed Service para Prometheus.
Processadores
A configuração do coletor inclui os seguintes processadores:
batch
: configurado para agrupar solicitações de telemetria com o número máximo de entradas por solicitação ou no intervalo mínimo de Google Cloud a cada 5 segundos (o que ocorrer primeiro). Google Cloudmemory_limiter
: limita o uso da memória do coletor para evitar falhas por falta de memória, descartando pontos de dados quando o limite é excedido.resourcedetection
: detecta automaticamente os rótulos de recursos Google Cloud , comoproject_id
.
Recebedores
A configuração do coletor inclui apenas o
receptor otlp
.
Para informações sobre como instrumentar seus aplicativos para enviar rastros e métricas do OTLP
para o endpoint do OTLP do coletor, consulte
Escolher uma abordagem de
instrumentação.
Componentes disponíveis
O OpenTelemetry Collector criado pelo Google contém os componentes necessários para a maioria dos usuários
para ativar uma experiência rica na Observabilidade do Google Cloud. Para conferir uma lista completa de
componentes disponíveis, consulte
Components
no repositório opentelemetry-operations-collector
.
Para solicitar mudanças ou adições aos componentes disponíveis,
abra uma solicitação de recurso
no repositório opentelemetry-operations-collector
.
Gerar telemetria
É possível testar a configuração usando a
ferramenta telemetrygen
de código aberto.
O projeto OpenTelemetry fornece um contêiner no registro de contêineres do GitHub.
Antes de executar os comandos a seguir, substitua os seguintes marcadores de posição, se você tiver alterado os padrões usados nos comandos do Docker em Implantar o coletor:
- otel: o nome que você especificou ao criar a rede
bridge
do Docker. - opentelemetry-collector: o nome especificado ao executar o contêiner.
Gerar registros
Para gerar registros usando a ferramenta telemetrygen
, execute o seguinte comando:
docker run \ --net=otel \ ghcr.io/open-telemetry/opentelemetry-collector-contrib/telemetrygen:v0.105.0 \ logs --otlp-insecure --rate=3 --duration=5m \ --otlp-endpoint=opentelemetry-collector:4317
Gerar métricas
Para gerar métricas usando a ferramenta telemetrygen
, execute o seguinte comando:
docker run \ --net=otel \ ghcr.io/open-telemetry/opentelemetry-collector-contrib/telemetrygen:v0.105.0 \ metrics --otlp-insecure --rate=0.1 --duration=5m \ --otlp-endpoint=opentelemetry-collector:4317
Gerar métricas
Para gerar rastros usando a ferramenta telemetrygen
, execute o seguinte
comando:
docker run \ --net=otel \ ghcr.io/open-telemetry/opentelemetry-collector-contrib/telemetrygen:v0.105.0 \ traces --otlp-insecure --rate=3 --duration=5m \ --otlp-endpoint=opentelemetry-collector:4317
Após alguns minutos, a telemetria gerada pelo aplicativo começa a fluir pelo coletor para o console do Google Cloud para cada indicador.
Conferir a telemetria
O coletor do OpenTelemetry criado pelo Google envia métricas, registros e rastros dos seus aplicativos instrumentados para a Google Cloud Observability. O coletor também envia métricas de autoobservabilidade. As seções a seguir descrevem como visualizar essa telemetria.
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, embora o Collector criado pelo Google também grave algumas autométricas.
Para conferir as métricas coletadas pelo coletor do OpenTelemetry criado pelo Google, faça o seguinte:-
No Console do Google Cloud, acesse a página do leaderboard Metrics Explorer:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.
- Na barra de ferramentas do console do Google Cloud, selecione seu projeto. Para configurações do App Hub, selecione o projeto host do App Hub ou o projeto de gerenciamento da pasta ativada por 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 coletor do OpenTelemetry 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éries temporais. 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 do 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 do Google Cloud, selecione seu projeto. Para as configurações do App Hub, selecione o projeto host do App Hub ou o projeto de gerenciamento da pasta ativada por apps.
- Na seção da 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 do Google Cloud, acesse a página do 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, abra a entrada de registro.
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.
Observar e depurar o coletor
O Coletor do OpenTelemetry criado pelo Google fornece automaticamente métricas de auto-observabilidade para ajudar você a monitorar o desempenho e garantir o tempo de atividade contínuo do pipeline de ingestão OTLP.
Para monitorar o Coletor, instale o painel de amostra dele. Esse painel do Google Analytics oferece insights gerais sobre várias métricas do Coletor, incluindo tempo de atividade, uso de memória e chamadas de API para a observabilidade do Google Cloud.
Para instalar o painel, faça o seguinte:
-
No console do Google Cloud, acesse a página
Painéis:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.
- Clique em Modelos de painéis.
- Pesquise o painel Coletor do OpenTelemetry.
- Opcional: para visualizar o painel, selecione-o.
Clique em playlist_add Adicionar painel à sua lista e preencha a caixa de diálogo.
A caixa de diálogo permite selecionar o nome do painel e adicionar rótulos a ele.
Para mais informações sobre como instalar painéis, consulte Instalar um modelo de painel.