Acerca das etiquetas específicas da aplicação
As etiquetas específicas da aplicação referem-se a etiquetas ou atributos que são injetados em dados de registo, métricas ou rastreio. Estas etiquetas identificam o serviço ou a carga de trabalho que gerou os dados. Pode usar etiquetas específicas da aplicação como quaisquer outras etiquetas. Por exemplo, pode filtrar dados pelo ID de uma aplicação. A telemetria gerada pela infraestrutura suportada inclui automaticamente estas etiquetas. Com a instrumentação, as métricas e os rastreios escritos pela sua aplicação podem incluir estas etiquetas.
Nesta secção,
interprete a.b.{x,y}
como a.b.x
e a.b.y
.
Os dados de métricas da instrumentação que adicionou às suas aplicações podem incluir as seguintes etiquetas de métricas:
metric.labels.apphub_application_{container,id,location}
metric.labels.apphub_workload_{criticality_type,environment_type,id}
Os intervalos de rastreio gerados pela instrumentação que adicionou às suas aplicações podem incluir os seguintes atributos de recursos:
gcp.apphub.application.{container,id,location}
gcp.apphub.{workload,service}.{criticality_type,environment_type,id}
Acerca das métricas do servidor HTTP do OpenTelemetry
Não existem métricas do sistema para cargas de trabalho executadas no Google Kubernetes Engine que possam comunicar o nível de tráfego, a taxa de erros do servidor ou a latência para pedidos HTTP. No entanto, os valores destes sinais de ouro podem ser derivados de http.server.request.duration
, que é uma métrica recolhida automaticamente pela biblioteca do cliente HTTP OpenTelemetry.
O exportador googlemanagedprometheus
converte a métrica OpenTelemetry na métrica Prometheus que tem as seguintes propriedades:http.server.request.duration
- Nome:
prometheus/http_server_request_duration_seconds/histogram
- Métrica:
prometheus.googleapis.com/http_server_request_duration_seconds/histogram
- Tipos de recursos:
prometheus_target
- Unidade:
s
- Tipo:
CUMULATIVE
- Tipo de valor:
DISTRIBUTION
Quando o seu Google Cloud projeto contém a métrica http_server_request_duration_seconds
, os painéis de controlo da monitorização de aplicações apresentam o nível de tráfego, a taxa de erros do servidor e a latência dos pedidos HTTP.
Para saber como configurar a sua aplicação para exportar a métrica http_server_request_duration_seconds
,
consulte a secção Use o OpenTelemetry no Kubernetes deste documento.
Adicione etiquetas de aplicação aos dados de métricas
O Google Cloud Observability tenta identificar a origem das métricas do Prometheus comparando os atributos anexados às métricas do Prometheus que são enviadas para o seu projeto com os dados devolvidos pela API App Hub. O resto desta secção apresenta configurações que permitem ao Google Cloud Observability identificar a aplicação App Hub.
Use o OpenTelemetry no Kubernetes
Para que o Google Cloud Observability anexe etiquetas de aplicações aos dados de métricas gerados pelas cargas de trabalho da sua aplicação que são executadas no Google Kubernetes Engine, faça o seguinte:
Instrumente a aplicação com o OpenTelemetry.
- Para informações gerais, consulte o artigo Instrumentação e observabilidade.
- Para ver links para exemplos de Go, Java, Node.js e Python, juntamente com informações sobre esses exemplos, consulte o artigo Vista geral dos exemplos de instrumentação.
Implemente o coletor criado pela Google ou o coletor OpenTelemetry e configure o coletor da seguinte forma:
- Exporte dados de métricas com o exportador
googlemanagedprometheus
. - Configure o processador
k8sattributes
para extrair metadados, como onamespace
, do ambiente. - Configure o processador
transform/collision
para definir os atributosproject_id
,location
,cluster
enamespace
. - Configure o processador
transform/aco-gke
para preencher as etiquetastop_level_controller_name
etop_level_controller_type
.
Por exemplo, consulte o ficheiro
otlp-k8s-ingest/config/collector.yaml
, que é o ficheiro de configuração do coletor criado pela Google. Para saber mais sobre este coletor, consulte o artigo Implemente o coletor OpenTelemetry criado pela Google no GKE.- Exporte dados de métricas com o exportador
Registe as cargas de trabalho da sua aplicação no App Hub.
Use o serviço gerido do Google Cloud para Prometheus no GKE
Para que o Google Cloud Observability anexe etiquetas de aplicações aos dados de métricas gerados pelas cargas de trabalho da sua aplicação que são executadas em clusters do Google Kubernetes Engine, faça o seguinte:
Use o Managed Service for Prometheus do Google Cloud com recolha gerida.
Implemente as suas cargas de trabalho num cluster do Google Kubernetes Engine cuja versão seja, pelo menos,
1.32.1-gke.1439000
.Registe as cargas de trabalho da sua aplicação no App Hub.
O Google Cloud Managed Service for Prometheus descobre os valores das etiquetas de aplicações através dos metadados de descoberta de serviços e, em seguida, adiciona as etiquetas top_level_controller_{name,type}
ao targetLabels.metadata
.
Durante o carregamento de métricas, o Google Cloud Observability usa as etiquetas top_level_controller_{name,type}
e a API App Hub para identificar a sua aplicação App Hub e adicionar as etiquetas adequadas aos seus dados de métricas.
Use o Cloud Run
Para que o Google Cloud Observability anexe etiquetas de aplicações aos dados de métricas gerados pelas suas cargas de trabalho do Cloud Run, faça o seguinte:
Instrumente a sua aplicação através do OpenTelemetry ou do sidecar do Managed Service for Prometheus para o Cloud Run. Para informações sobre estas abordagens, consulte os seguintes documentos:
Registe as cargas de trabalho da sua aplicação no App Hub.
Valide as etiquetas de métricas
Para verificar se a sua aplicação está a enviar métricas do Prometheus para o seu projeto, faça o seguinte:
-
Confirme se a sua aplicação está a enviar métricas do Prometheus para o seu projeto:
-
Na Google Cloud consola, aceda à página leaderboard Explorador de métricas:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
- 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.
- 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:- No menu Recursos ativos, selecione Alvo do Prometheus.
- Para selecionar uma métrica, use os menus Categorias de métricas ativas e Métricas ativas.
- Clique em Aplicar.
Para adicionar filtros que removem séries cronológicas dos resultados da consulta, use o elemento Filter.
- Configure a forma como os dados são vistos.
Para ver as etiquetas, expanda o menu Filtrar. Cada entrada no Filtro corresponde a uma etiqueta.
Para mais informações sobre como configurar um gráfico, consulte o artigo Selecione métricas quando usar o explorador de métricas.
Se não vir nenhuma métrica do Prometheus, reveja a sua configuração.
-
Se as suas métricas do Prometheus não contiverem etiquetas de aplicação, faça o seguinte:
Confirme que registou a sua carga de trabalho ou serviço no App Hub.
Examine os registos para determinar se existem erros.
Por exemplo, se implementar um OpenTelemetry Collector ou o Collector criado pela Google e estiver a ser executado no Google Kubernetes Engine, pode fazer o seguinte:
-
Na Google Cloud consola, aceda à página Workloads:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Kubernetes Engine.
- Selecione a implementação do coletor e, de seguida, selecione o separador Registos.
-
Se estiver a usar um OpenTelemetry Collector ou o Collector criado pela Google, então reveja a configuração do seu Collector. O seu coletor tem de fazer o seguinte:
- Exporte dados de métricas com o exportador
googlemanagedprometheus
. - Configure o processador
k8sattributes
para extrair metadados, como onamespace
, do ambiente. - Configure o processador
transform/collision
para definir os atributosproject_id
,location
,cluster
enamespace
. - Configure o processador
transform/aco-gke
para preencher as etiquetastop_level_controller_name
etop_level_controller_type
.
Para ver um exemplo, consulte o ficheiro de configuração do coletor criado pela Google:
otlp-k8s-ingest/config/collector.yaml
.- Exporte dados de métricas com o exportador
Adicione atributos de aplicação a intervalos de rastreio
Para que o Cloud Trace anexe atributos de recursos específicos da aplicação aos dados de rastreio gerados pelos serviços e cargas de trabalho da aplicação, faça o seguinte:
- Registe os seus serviços e cargas de trabalho no App Hub.
- Instrumente a sua aplicação com o OpenTelemetry e envie os dados de rastreio recolhidos da sua aplicação para o seu projeto através do Google Cloud ponto final OTLP.
Configure o OpenTelemetry Collector ou o Collector criado pela Google de forma que os dados de intervalo exportados incluam os atributos de recursos do OpenTelemetry que identificam os recursos suportados Google Cloud que são usados pela sua aplicação. Os atributos dos recursos têm de incluir o seguinte:
cloud.account.id
- Uma de
cloud.{availability_zone,region}
- Atributos específicos do recurso. Por exemplo, para uma carga de trabalho do Kubernetes, os intervalos têm de ter o
k8s.cluster.name
, ok8s.namespace
e o tipo de implementação do Kubernetes definidos.
Use processadores para que o coletor anexe atributos específicos de recursos aos seus intervalos. Para saber mais, consulte
resourcedetectionprocessor
ek8sattributesprocessor
.O Google Cloud Observability usa os atributos de recursos anteriores e a API App Hub para identificar a sua aplicação App Hub. Os atributos específicos da aplicação são adicionados aos dados de rastreio quando uma aplicação é identificada.
Para mais informações sobre estes atributos, consulte as Google Cloud convenções semânticas do App Hub.