Depois de coletar métricas das cargas de trabalho implantadas no Google Distributed Cloud (GDC) isolado por air-gap, é possível começar a analisá-las. Para analisar métricas, visualize e filtre-as em painéis informativos do Grafana ou acesse-as diretamente do Cortex usando a ferramenta curl
para scripts e automação flexíveis.
Esta página fornece instruções detalhadas sobre como consultar e visualizar suas métricas usando a interface do usuário do Grafana e a ferramenta curl
para o endpoint do Cortex, a fim de gerar insights sobre a performance da sua carga de trabalho.
É possível acessar as métricas usando um dos dois métodos a seguir:
- Painéis do Grafana: analise tendências e identifique anomalias com visualizações intuitivas das principais métricas, como utilização da CPU, consumo de armazenamento e atividade de rede. O Grafana oferece uma interface fácil de usar para filtrar e analisar os dados da sua carga de trabalho em painéis.
- Endpoint do Cortex: para casos de uso mais avançados, consulte diretamente a instância do Cortex do seu projeto usando a ferramenta
curl
em uma linha de comando. O Cortex armazena as métricas do Prometheus do seu projeto e fornece um endpoint HTTP para acesso programático. Com esse acesso, você pode exportar dados, automatizar tarefas e criar integrações personalizadas.
Antes de começar
Para ter as permissões necessárias para consultar e visualizar métricas nos painéis do Grafana, peça ao administrador do IAM da organização ou do projeto para conceder a você um dos papéis predefinidos de leitor do Grafana da organização ou do projeto. Dependendo do nível de acesso e das permissões necessárias, você pode receber papéis do Grafana em uma organização ou um projeto.
Como alternativa, para receber as permissões necessárias para consultar métricas do endpoint do Cortex, peça ao administrador do IAM do projeto para conceder a você o papel de leitor do Prometheus do Cortex no namespace do projeto.
Para mais informações sobre esses papéis, consulte Preparar permissões do IAM.
Extrair e filtrar suas métricas
Selecione um dos seguintes métodos para criar consultas, visualizar tendências e filtrar métricas das cargas de trabalho do projeto:
Painéis do Grafana
Nesta seção, descrevemos como acessar suas métricas usando painéis do Grafana.
Identificar seu endpoint do Grafana
O URL a seguir é o endpoint da instância do Grafana do seu projeto:
https://GDC_URL/PROJECT_NAMESPACE/grafana
Substitua:
GDC_URL
: o URL da organização no GDC.PROJECT_NAMESPACE
: o namespace do projeto.Por exemplo, o endpoint do Grafana para o projeto
platform-obs
na organizaçãoorg-1
éhttps://org-1/platform-obs/grafana
.
Ver métricas na interface do usuário do Grafana
Recupere métricas na interface do usuário do Grafana:
- No console do GDC, selecione seu projeto.
- No menu de navegação, selecione Operações > Monitoramento.
Clique em Ver tudo no Grafana.
Uma nova página abre seu endpoint do Grafana e mostra a interface do usuário.
Na interface do usuário, clique em Análise Análise no menu de navegação para abrir a página Análise.
No menu da barra Explorar, selecione uma fonte de dados para extrair métricas de acordo com o tipo de universo:
Universos de zona única: selecione prometheus para mostrar métricas da única zona do seu universo.
Universos multizona: o Grafana pode se conectar a diferentes zonas e mostrar dados entre elas. Selecione Métricas ZONE_NAME para mostrar métricas de qualquer zona do seu universo, independente da zona em que você fez login.
Além disso, para ter visualizações de dados entre zonas em um único painel e adicionar várias zonas à sua consulta, selecione Mista como a fonte de dados.
Insira uma consulta para pesquisar métricas usando expressões da PromQL (linguagem de consulta do Prometheus). Você pode fazer isso de duas maneiras:
- Selecione uma métrica e um rótulo para sua consulta nos menus Métrica e Filtros de rótulo. Clique em Adicionar Adicionar para incluir mais rótulos na consulta. Em seguida, clique em Executar consulta.
- Digite sua consulta diretamente no campo de texto Métricas e pressione Shift+Enter para executar a consulta.
A página mostra as métricas que correspondem à sua consulta.
Figura 1. Opção de menu para consultar métricas na interface de usuário do Grafana.
Na figura 1, a opção prometheus mostra a interface que permite criar consultas do Grafana para recuperar métricas.
Para exemplos de valores de rótulos que podem ser usados para consultar métricas, consulte Exemplos de consultas e rótulos.
Endpoint do Cortex
Nesta seção, descrevemos como acessar suas métricas usando o Cortex.
Identificar seu endpoint do Cortex
O URL a seguir é o endpoint da instância do Cortex do seu projeto:
https://GDC_URL/PROJECT_NAMESPACE/cortex/prometheus/
Substitua:
GDC_URL
: o URL da organização no GDC.PROJECT_NAMESPACE
: o namespace do projeto.Por exemplo, o endpoint do Cortex para o projeto
platform-obs
na organizaçãoorg-1
éhttps://org-1/platform-obs/cortex/prometheus/
.
Autenticar a solicitação curl
- Faça o download e instale a CLI gdcloud.
Defina a propriedade
core/organization_console_url
do gdcloud:gdcloud config set core/organization_console_url https://GDC_URL
Faça login com o provedor de identidade configurado:
gdcloud auth login
Use seu nome de usuário e senha para autenticar e fazer login.
Quando o login for concluído, use o cabeçalho de autorização na sua solicitação cURL com o comando
gdcloud auth print-identity-token
. Para mais informações, consulte gdcloud auth.
Chamar o endpoint do Cortex
Siga estas etapas para acessar o endpoint do Cortex usando a ferramenta curl
:
- Autentique a solicitação
curl
. Use
curl
para chamar o endpoint do Cortex e estenda o URL usando a API HTTP padrão do Prometheus (https://prometheus.io/docs/prometheus/latest/querying/api/) para consultar métricas.Veja a seguir um exemplo de solicitação
curl
:curl https://GDC_URL/PROJECT_NAME/cortex/prometheus/api/v1/query?query=my_metric{cluster="my-cluster"}&time=2015-07-01T20:10:51.781Z \ -H "Authorization: Bearer $(gdcloud auth print-identity-token \ --audiences=https://GDC_URL)"
Você vai receber a saída após o comando. A resposta da API está no formato JSON.
Exemplos de consultas e rótulos
É possível consultar métricas usando o nome delas e pares de chave-valor para rótulos. Uma consulta em PromQL tem a seguinte sintaxe:
metric_name{label_one="value", label_two="value"}
Com os rótulos, é possível diferenciar as características de uma métrica. Dessa forma, os autores de contêineres fazem com que as cargas de trabalho gerem métricas e adicionem tags para filtrar essas métricas.
Por exemplo, é possível ter uma métrica api_http_requests_total
para contar o
número de solicitações HTTP recebidas. Em seguida, adicione um rótulo request_method
a essa métrica, que usa um valor POST
, GET
ou PUT
. Assim, você cria três fluxos de métricas para cada tipo de solicitação que pode receber. Nesse caso, para encontrar o número de solicitações HTTP GET
, execute a seguinte consulta:
api_http_requests_total{request_method="GET"}
Consulte https://prometheus.io/docs/practices/naming/ para mais informações sobre métricas e rótulos.
A seguir, veja alguns dos rótulos padrão que o recurso
personalizado MonitoringTarget
adiciona. É possível usar estes marcadores padrão para consultar métricas:
_gdch_service
: o nome abreviado do serviço.cluster
: o nome do cluster.container_name
: o nome do contêiner em um pod.namespace_name
: o namespace do projeto.pod_name
: o prefixo do nome do pod.
A tabela a seguir descreve os rótulos que o Prometheus adiciona automaticamente:
Rótulo da métrica | Descrição |
---|---|
job |
O nome interno do job de extração usado para coletar a métrica. Os jobs
criados pelo recurso personalizado MonitoringTarget têm um nome
com o seguinte padrão:obs-system/OBS_SHADOW_PROJECT_NAME/MONITORINGTARGET_NAME.MONITORINGTARGET_NAMESPACE/I/J I e J são números exclusivos determinados internamente
para evitar conflitos de nomes. |
instance |
O $IP:$PORT do serviço descartado. Se um recurso de carga de trabalho tiver várias réplicas, use esse campo para diferenciá-las. |
Os exemplos de código a seguir mostram o uso de pares de chave-valor para rótulos e consultas de métricas diferentes:
Confira todos os fluxos de métricas das operações processadas no seu projeto:
processed_ops_total
Veja as operações processadas coletadas em um cluster do Kubernetes:
processed_ops_total{cluster="CLUSTER_NAME"}
Confira o uso da CPU coletado em um cluster do Kubernetes:
cpu_usage{cluster="CLUSTER_NAME"}
Use a ferramenta de redefinição de rótulos de métricas para adicionar rótulos não expostos inicialmente pelos contêineres descartados e renomear as métricas produzidas. É necessário configurar o recurso personalizado MonitoringTarget
para adicionar rótulos às métricas coletadas.
Especifique esses rótulos no campo metricsRelabelings
do recurso personalizado.
Para mais informações, consulte
Métricas de rótulo.