Consultar e visualizar métricas

Depois de coletar métricas de cargas de trabalho implantadas no projeto do GDC, é possível consultar e visualizar métricas em painéis da instância de monitoramento do sistema do projeto ou consultar métricas da API HTTP do appliance isolado do GDC.

Consultar e visualizar métricas em painéis

A instância do Grafana do seu projeto, também chamada de instância de monitoramento do sistema, inclui dados para monitorar componentes no nível do projeto para observabilidade de dados, como utilização da CPU, consumo de armazenamento, monitoramento de rede e de servidor, registros, alertas e métricas.

Para conferir as métricas, use os painéis na página Analisar da instância de monitoramento do sistema. Para conferir métricas específicas, faça consultas na página Analisar.

Antes de começar

Antes de consultar e visualizar métricas em painéis, você precisa ter acesso à instância de monitoramento. Para mais informações, consulte Acessar painéis.

Criar consultas para suas métricas

Monitore e veja métricas para fins de observabilidade de dados nos seus aplicativos usando a instância de monitoramento do sistema do seu projeto. A interface do usuário (UI) integrada da instância contém painéis padrão de componentes comuns e painéis personalizados que você cria para suas necessidades específicas de caso de uso. Supondo que seu ambiente esteja funcionando, você vai ver imediatamente alguns painéis de métricas na página Painéis disponíveis.

Consulte métricas na UI para recuperar visualmente as métricas do seu projeto e ter uma visão integrada para monitorar seus aplicativos. Para filtrar os resultados, pesquise métricas por rótulos usando expressões da linguagem de consulta.

Endpoint da instância de monitoramento do sistema

O URL a seguir é o endpoint da instância de monitoramento do projeto platform-obs:

https://GDC_URL/PROJECT_NAMESPACE/grafana

Substitua:

  • GDC_URL: o URL da sua organização no GDC
  • PROJECT_NAMESPACE: o namespace do projeto

Métricas de consulta

Siga estas etapas para consultar métricas do seu projeto:

Siga estas etapas para extrair métricas:

  1. No console do GDC, selecione um projeto.
  2. No menu de navegação, clique em Operações > Monitoring.
  3. Clique em Ver tudo no Grafana.

Uma nova página vai abrir o URL da instância de monitoramento do seu projeto.

  1. Na UI da instância de monitoramento, clique em Analisar Analisar no menu de navegação para abrir a página Analisar.
  2. No menu suspenso da barra Explorar, selecione prometheus para extrair métricas.
  3. Insira uma consulta para pesquisar métricas usando expressões 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 suspensos Métrica e Filtros de rótulo. Clique em Adicionar Adicionar para incluir mais rótulos na sua 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.

A opção "prometheus" está selecionada na página "Explorar" da interface do Grafana para obter métricas.

Figura 1. Opção de menu para consultar métricas na interface 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.

Exemplos de consultas e rótulos

É possível consultar as métricas coletadas usando o nome da métrica e os rótulos de chave-valor. Por isso, uma consulta 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 de acordo com as necessidades. Por exemplo, você pode 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 recebe um valor POST, GET ou PUT. Como consequência, 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"}

Confira abaixo alguns dos rótulos padrão que o recurso personalizado MonitoringTarget adiciona e que podem ser usados 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 serviço de raspagem adiciona automaticamente:

Rótulos padrão do serviço de raspagem
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:

PROJECT_NAME-obs-system/MONITORINGTARGET_NAME.MONITORINGTARGET_NAMESPACE/I/J

PROJECT_NAME-obs-system/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 rótulos e valores para consultar diferentes métricas de observabilidade de dados:

  • 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:

    processed_ops_total{cluster="CLUSTER_NAME"}
    
  • Para conferir o uso da CPU coletado em um cluster:

    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. Configure o CR MonitoringTarget para adicionar rótulos às métricas coletadas. Especifique esses rótulos no campo metricsRelabelings do CR. Para mais informações, consulte Métricas de rótulo.

Consultar métricas da API Cortex

O Cortex é o armazenamento de longo prazo para métricas do Prometheus no GDC. A plataforma de observabilidade expõe um endpoint de API HTTP do Cortex para consultar e ler métricas, alertas e outros dados de série temporal do Prometheus no seu projeto.

Consulte métricas diretamente da API HTTP para ler e exportar métricas e outros dados de série temporal para ferramentas externas, configurar tarefas automatizadas, adaptar respostas e criar integrações de acordo com seu caso de uso de monitoramento do sistema. Por exemplo, insira a saída em outro comando, exporte detalhes para formatos de arquivo de texto ou configure um cron job do Linux. É possível chamar a API na interface de linha de comando (CLI) ou em um navegador da Web e usar expressões da linguagem de consulta como parâmetros de endpoint para receber o resultado em formato JSON.

Esta seção explica como chamar o endpoint de API Cortex na CLI usando a especificação da API Prometheus para consultar métricas de capacidade de observação de dados.

Antes de começar

Você precisa receber autorização para consultar métricas na CLI. Para receber as permissões necessárias para acessar o endpoint de API Cortex, peça ao administrador do IAM do projeto para conceder a você a função de leitor do Prometheus do Cortex do projeto (project-cortex-prometheus-viewer).

Crie as seguintes vinculações de função usando os comandos kubectl para o Prometheus do Cortex para cada persona:

  1. Administrador raiz do operador de infraestrutura (IO) - Project Cortex Prometheus Viewer:

    kubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding 
    io-cortex-prometheus-viewer-binding -n infra-obs 
    --user=fop-infrastructure-operator@example.com 
    --role=project-cortex-prometheus-viewer
    
  2. Administrador da plataforma (PA) Administrador raiz: Project Cortex Prometheus Viewer

    kubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding 
    pa-cortex-prometheus-viewer-binding -n platform-obs 
    --user=fop-platform-admin@example.com --role=project-cortex-prometheus-viewer
    
  3. Administrador raiz do operador de aplicativos (AO) - Project Cortex Prometheus Viewer :

    kubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding 
    project-cortex-prometheus-viewer-binding -n PROJECT_NAME 
    --user=USER_NAME --role=project-cortex-prometheus-viewer
    

    Substitua:

    • PROJECT_NAME: o nome do projeto.
    • USER_NAME: o nome da conta do usuário que precisa da vinculação de papel.

Depois que a vinculação de função for criada, você poderá acessar a API Prometheus com seu nome de usuário de login.

Endpoint de API HTTP

O URL a seguir é o endpoint de API HTTP para acessar métricas no projeto platform-obs:

https://GDC_URL/PROJECT_NAME/cortex/prometheus/

Substitua:

  • GDC_URL: o URL da sua organização no GDC.
  • PROJECT_NAME: o nome do projeto.

Chamar o endpoint de API

Siga estas etapas para acessar o endpoint de API Cortex na CLI e consultar métricas:

  1. Verifique se você atende aos pré-requisitos.
  2. Abra a CLI.
  3. Use a ferramenta curl para chamar o endpoint do Cortex e estenda o URL usando o padrão https://prometheus.io/docs/prometheus/latest/querying/api/ para consultar métricas. Exemplo:

    curl https://console.org-1.zone1.google.gdch.test/alice/cortex/prometheus/api/v1/query?query=my_metric{cluster="org-1-system"}&time=2015-07-01T20:10:51.781Z
    

Você vai receber a saída na CLI após o comando. O formato de resposta da API é JSON.