Neste documento, mostramos como executar o Coletor do OpenTelemetry criado pelo Google no Cloud Run 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 criado pelo Google requer os seguintes recursos:
Um Google Cloud projeto com a API Cloud Monitoring, Cloud Trace e API Cloud Logging ativadas.
Se você não tiver um projeto 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 a API 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 instalar ogcloud
, 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 registro de registro (
roles/logging.logWriter
)
Peça ao administrador para conceder a você os seguintes papéis do IAM no seu 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 gerenciada pelo usuário para o Cloud Run. Uma conta de serviço gerenciada 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 do OpenTelemetry criado pelo Google como um sidecar para o Cloud Run, primeiro crie um segredo para armazenar a configuração do coletor.
gcloud secrets create SECRET_NAME --data-file=config.yaml --project=PROJECT_ID
Em seguida, adicione o coletor do OpenTelemetry criado pelo Google como um sidecar ao 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.124.1"
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 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
no 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
Para gerar telemetria, crie um aplicativo do Cloud Run com um coletor de sidecar. O documento Gravar métricas OTLP usando um arquivo secundário do OpenTelemetry oferece um tutorial para usar o coletor do OpenTelemetry criado pelo Google como um arquivo secundário. Use este tutorial para gerar telemetria com o coletor criado pelo Google.
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 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 Google Cloud , selecione o projeto Google Cloud . 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é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 o projeto Google Cloud . 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 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, 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 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 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.