Neste documento, descrevemos como executar o Coletor do OpenTelemetry criado pelo Google no Container-Optimized OS para coletar registros, métricas e traces 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:
- Faça login na sua Google Cloud conta do. Se você não conhece o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em cenários reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Logging, Cloud Monitoring, and Cloud Trace APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Logging, Cloud Monitoring, and Cloud Trace APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.- 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 instalargcloud, consulte Instalar a Google Cloud CLI.
Configurar permissões para o coletor
Por padrão, as VMs do Container-Optimized OS 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 a telemetria descrita neste documento:
- Gravador de métricas do Monitoring (
roles/monitoring.metricWriter) - Gravador de registros (
roles/logging.logWriter) - Agente do Cloud Trace
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, é necessário fornecer um arquivo de configuração para sua VM do Container-Optimized OS. Você pode
usar a ferramenta cloud-init
para gravar um arquivo de configuração. A seguir, apresentamos 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 enviará telemetria. Para criar a rede, execute o seguinte comando:
docker network create -d bridge 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 coletor à rede otel de bridge criada anteriormente. Outros contêineres podem ser conectados à bridge para enviar 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 oferecer 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 nogoogle-built-opentelemetry-collector
diretório no
opentelemetry-operations-collector repositório:
Exportadoras
A configuração do coletor inclui os seguintes exportadores:
googlecloudexportador, para registros e traces. Esse exportador está configurado com um nome de registro padrão.googlemanagedprometheusexportador, 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 Google Cloud número máximo de entradas por solicitação ou no Google Cloud intervalo mínimo de cada 5 segundos (o que ocorrer primeiro).memory_limiter: limita o uso da memória do coletor para evitar falhas de memória insuficiente, descartando pontos de dados quando o limite é excedido.resourcedetection: detecta automaticamente os Google Cloud rótulos de recursos, comoproject_id.
Recebedores
A configuração do coletor inclui apenas o
otlp receptor.
Para informações sobre como instrumentar seus aplicativos para enviar traces do OTLP
e métricas para o endpoint do OTLP do coletor, consulte
Escolher uma abordagem de instrumentação.
Componentes disponíveis
O Coletor do OpenTelemetry criado pelo Google contém os componentes que a maioria dos usuários precisa para ativar uma experiência avançada no Google Cloud Observability. Para uma lista completa dos
componentes disponíveis, consulte
Componentes
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
Você pode testar sua configuração usando a ferramenta de código aberto
telemetrygen.
O projeto OpenTelemetry fornece um contêiner no registro de contêiner do GitHub.
Antes de executar os comandos a seguir, substitua os marcadores a seguir, se você tiver mudado os padrões usados nos comandos do Docker em Implantar o coletor:
- otel: o nome especificado ao criar a rede
bridgedo 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 traces
Para gerar traces 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 Google Cloud console para cada indicador.
Acessar a telemetria
O Coletor do OpenTelemetry criado pelo Google envia métricas, registros e traces dos aplicativos instrumentados para o Google Cloud Observability. O coletor também envia métricas de auto-observabilidade. As seções a seguir descrevem como acessar 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 coletor criado pelo Google também grave algumas métricas próprias.
Para acessar as métricas coletadas pelo Coletor do OpenTelemetry criado pelo Google, faça o seguinte:-
No Google Cloud console, acesse a leaderboard página 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 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 Targetna 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.
Para adicionar filtros que removem série temporal dos resultados da consulta, use o Filtro elemento.
- 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 por 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 Google Cloud console, 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 Google Cloud console, selecione seu Google Cloud projeto. Para App Hub configurações, selecione o projeto host do App Hub ou o projeto de gerenciamento.
- Na seção de tabela da página, selecione uma linha.
No gráfico de Gantt no painel Detalhes do trace , selecione um período.
Um painel é aberto mostrando 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 Google Cloud console do, 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 no app instrumentado. Para ver os detalhes, expanda a entrada de registro.
Clique em
Traces em uma entrada de registro com uma mensagem de trace
e selecione Ver detalhes do trace.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 Google Cloud console, 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 Monitoring.
- Clique em Modelos de painel.
- 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.