Neste documento, mostramos como executar o coletor OpenTelemetry criado pelo Google no Cloud Run para coletar registros, métricas e rastreamentos do OTLP de aplicativos instrumentados e exportar esses dados para Google Cloud.
Antes de começar
Para executar o OpenTelemetry Collector criado pelo Google, você precisa dos seguintes recursos:
Um projeto do Google Cloud com as APIs Cloud Monitoring, Cloud Trace e Cloud Logging ativadas.
Se você não tiver um Google Cloud projeto, 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ê 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:
Um serviço do Cloud Run. Se você não tiver um serviço do Cloud Run, siga as instruções em Planejar e preparar seu serviço.
Uma instalação do
gcloud
. Para informações sobre como instalargcloud
, consulte Instalar a CLIgcloud
.
Configurar permissões para o coletor
Por padrão, os jobs e serviços do Cloud Run 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 registros do Logging (
roles/logging.logWriter
)
Peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
- Administrador do Cloud Run (
roles/run.admin
) Secret Manager Secret Accessor
(roles/secretmanager.secretAccessor)
Também é possível configurar uma conta de serviço gerenciado pelo usuário para o Cloud Run. Uma conta de serviço gerenciado pelo usuário também precisa ter esses papéis. Para mais informações sobre contas de serviço do Cloud Run, consulte Introdução à identidade do serviço.
Implantar o coletor
Para instalar o coletor OpenTelemetry criado pelo Google como um sidecar do Cloud Run, primeiro crie um secret para armazenar a configuração do coletor.
gcloud secrets create SECRET_NAME --data-file=config.yaml --project=PROJECT_ID
Em seguida, adicione o OpenTelemetry Collector criado pelo Google como um arquivo secundário ao seu service.yaml
:
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
annotations:
run.googleapis.com/launch-stage: ALPHA
name: google-otel-cloud-run-sample
spec:
template:
metadata:
annotations:
# [REQUIRED] set the collector as a parent to the app
run.googleapis.com/container-dependencies: "{app:[collector]}"
run.googleapis.com/secrets: 'SECRET_NAME:projects/PROJECT_ID/secrets/SECRET_NAME'
spec:
containers:
- image: my-app
name: app
ports:
- containerPort: 8080
env:
- name: "OTEL_EXPORTER_OTLP_ENDPOINT"
value: "http://localhost:4317"
- image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.134.0"
args:
- --config=/etc/otelcol-google/config.yaml
name: collector
startupProbe:
httpGet:
path: /
port: 13133
timeoutSeconds: 30
periodSeconds: 30
livenessProbe:
httpGet:
path: /
port: 13133
timeoutSeconds: 30
periodSeconds: 30
volumeMounts:
- mountPath: /etc/otelcol-google/
name: config
volumes:
- name: config
secret:
items:
- key: latest
path: config.yaml
secretName: 'SECRET_NAME'
Configurar o coletor
Fornecemos uma configuração do OpenTelemetry Collector para você usar com o coletor criado pelo Google. Essa configuração foi projetada para fornecer grandes volumes de métricas, registros e traces do OTLP. Essa configuração também foi projetada para evitar problemas comuns de ingestão. É possível adicionar à configuração, mas recomendamos que você 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ê encontra 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 OpenTelemetry Collector 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 cada 5 segundos (o que ocorrer primeiro). Google Cloud Google Cloudmemory_limiter
: Limita o uso da memória do coletor para evitar falhas por falta de memória ao descartar pontos de dados quando o limite é excedido.resourcedetection
: Detecta automaticamente rótulos de recursos do 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 traces
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 que a maioria dos usuários precisa para
ativar uma experiência completa na Observabilidade do Google Cloud. Para uma lista completa de 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
Para gerar telemetria, crie um aplicativo do Cloud Run com um coletor sidecar. O documento Escrever métricas OTLP usando um arquivo secundário do OpenTelemetry fornece um tutorial sobre como usar o coletor OpenTelemetry integrado do Google como um arquivo secundário. Use este tutorial para gerar telemetria com o coletor criado pelo Google.
Ver telemetria
O coletor do OpenTelemetry criado pelo Google envia métricas, registros e traces dos seus aplicativos instrumentados para o Google Cloud Observability. O coletor também envia métricas de auto-observabilidade. 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 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 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.
Para adicionar filtros que removem séries temporais dos resultados da consulta, use o elemento Filtro.
- 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.
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 do 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 OpenTelemetry Collector.
- Opcional: para visualizar o painel, selecione-o.
Clique em playlist_add Adicionar painel à sua lista e preencha a caixa de diálogo.
Na caixa de diálogo, selecione o nome do painel e adicione rótulos a ele.
Para mais informações sobre como instalar painéis, consulte Instalar um modelo de painel.