Consulte e veja métricas

Depois de recolher métricas das suas cargas de trabalho implementadas no dispositivo isolado do Google Distributed Cloud (GDC), pode começar a analisá-las. Para analisar as métricas, pode visualizá-las e filtrá-las em painéis de controlo informativos do Grafana ou aceder às mesmas diretamente a partir do Cortex através da ferramenta curl para scripting e automatização flexíveis.

Pode aceder às suas métricas através de um dos dois métodos seguintes:

  • Painéis de controlo do Grafana: explore tendências e identifique anomalias com visualizações intuitivas de métricas importantes, como a utilização da CPU, o consumo de armazenamento e a atividade de rede. O Grafana oferece uma interface intuitiva para filtrar e analisar os dados da sua carga de trabalho em painéis de controlo.
  • Ponto final do Cortex: para exemplos de utilização mais avançados, consulte diretamente a instância do Cortex do seu projeto através da ferramenta curl numa linha de comandos. O Cortex armazena as métricas do Prometheus do seu projeto e fornece um ponto final HTTP para acesso programático. Este acesso permite-lhe exportar dados, automatizar tarefas e criar integrações personalizadas.

Antes de começar

Para receber as autorizações necessárias para consultar e visualizar métricas nos painéis de controlo do Grafana, peça ao administrador de IAM da organização ou ao administrador de IAM do projeto que lhe conceda uma das funções predefinidas de leitor do Grafana da organização ou leitor do Grafana do projeto. Consoante o nível de acesso e as autorizações de que precisa, pode obter funções do Grafana numa organização ou num projeto.

Em alternativa, para obter as autorizações necessárias para consultar métricas do ponto final do Cortex, peça ao administrador do IAM do projeto para lhe conceder a função de visualizador do Prometheus do Cortex do projeto no seu espaço de nomes do projeto.

Para mais informações sobre estas funções, consulte o artigo Prepare as autorizações de IAM.

Obtenha e filtre as suas métricas

Selecione um dos seguintes métodos para criar consultas, visualizar tendências e filtrar métricas das cargas de trabalho do seu projeto:

Painéis de controlo do Grafana

Esta secção descreve como aceder às suas métricas através dos painéis de controlo do Grafana.

Identifique o seu ponto final do Grafana

O seguinte URL é o ponto final da instância do Grafana do seu projeto:

  https://GDC_URL/PROJECT_NAMESPACE/grafana

Substitua o seguinte:

  • GDC_URL: o URL da sua organização no GDC.
  • PROJECT_NAMESPACE: o espaço de nomes do seu projeto.

    Por exemplo, o ponto final do Grafana para o projeto platform-obs na organização org-1 é https://org-1/platform-obs/grafana.

Veja métricas na interface do utilizador do Grafana

Recupere métricas na interface do utilizador do Grafana:

  1. Na consola do GDC, selecione o seu projeto.
  2. No menu de navegação, selecione Operações > Monitorização.
  3. Clique em Ver tudo no Grafana.

    É aberta uma nova página com o seu ponto final do Grafana e a interface do utilizador.

  4. Na interface do utilizador,clique em explorar Explorar no menu de navegação para abrir a página Explorar.

  5. No menu da barra Explorar, selecione uma origem de dados para obter métricas, de acordo com o tipo de universo:

    • Universos de zona única: selecione prometheus para apresentar métricas da zona única do seu universo.
  6. Introduza uma consulta para pesquisar métricas através de expressões PromQL (Prometheus Query Language). Pode concluir este passo de qualquer uma das seguintes formas:

    • Selecione uma métrica e uma etiqueta para a sua consulta nos menus Métrica e Filtros de etiquetas. Clique em adicionar Adicionar para adicionar mais etiquetas à sua consulta. Em seguida, clique em Executar consulta.
    • Introduza a consulta diretamente no campo de texto Métricas e prima Shift+Enter para executar a consulta.

    A página apresenta as métricas que correspondem à sua consulta.

    A opção prometheus está selecionada na página Explorar para obter métricas.

    Figura 1. Opção de menu para consultar métricas na interface do utilizador do Grafana.

    Na figura 1, a opção prometheus apresenta a interface que lhe permite criar consultas a partir do Grafana para obter métricas.

    Para ver exemplos de valores de etiquetas que pode usar para consultar métricas, consulte o artigo Consultas e etiquetas de exemplo.

Ponto final do Cortex

Esta secção descreve como aceder às suas métricas através do Cortex.

Identifique o seu ponto final do Cortex

O seguinte URL é o ponto final da instância do Cortex do seu projeto:

  https://GDC_URL/PROJECT_NAMESPACE/cortex/prometheus/

Substitua o seguinte:

  • GDC_URL: o URL da sua organização no GDC.
  • PROJECT_NAMESPACE: o espaço de nomes do seu projeto.

    Por exemplo, o ponto final do Cortex para o projeto platform-obs na organização org-1 é https://org-1/platform-obs/cortex/prometheus/.

Autentique o pedido curl

  1. Transfira e instale a CLI gcloud.
  2. Defina a propriedade gdcloud:core/organization_console_url

    gdcloud config set core/organization_console_url
    https://GDC_URL
    
  3. Inicie sessão com o Fornecedor de identidade configurado:

    gdcloud auth login
    
  4. Use o seu nome de utilizador e palavra-passe para autenticar e iniciar sessão.

    Quando o início de sessão for bem-sucedido, pode usar o cabeçalho de autorização no seu pedido cURL através do comando gdcloud auth print-identity-token. Para mais informações, consulte gdcloud auth.

Chame o ponto final do Cortex

Conclua os passos seguintes para aceder ao ponto final do Cortex através da ferramenta curl:

  1. Autentique o curlpedido.
  2. Use curl para chamar o ponto final do Cortex e estender o URL através da API HTTP Prometheus padrão (https://prometheus.io/docs/prometheus/latest/querying/api/) para consultar métricas.

    Segue-se um exemplo de um pedido 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)"
    

    Obtém o resultado após o comando. A resposta da API está no formato JSON.

Consultas e etiquetas de exemplo

Pode consultar métricas através do nome da métrica e de pares de chave-valor para etiquetas. Uma consulta PromQL tem a seguinte sintaxe:

metric_name{label_one="value", label_two="value"}

As etiquetas permitem-lhe diferenciar as caraterísticas de uma métrica. Desta forma, os autores dos contentores fazem com que as respetivas cargas de trabalho gerem métricas e adicionem etiquetas para filtrar essas métricas.

Por exemplo, pode ter uma métrica api_http_requests_total para contabilizar o número de pedidos HTTP recebidos. Em seguida, pode adicionar uma etiqueta request_method nesta métrica, que assume um valor POST, GET ou PUT. Consequentemente, cria três streams de métricas para cada tipo de pedido que possa receber. Neste caso, para encontrar o número de pedidos 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 etiquetas.

Seguem-se algumas das etiquetas predefinidas que o recurso personalizado MonitoringTarget adiciona. Pode usar estas etiquetas predefinidas para consultar métricas:

  • _gdch_service: o diminutivo do serviço.
  • cluster: o nome do cluster.
  • container_name: o nome do contentor num agrupamento.
  • namespace_name: o espaço de nomes do seu projeto.
  • pod_name: o prefixo do nome do agrupamento.

A tabela seguinte descreve as etiquetas que o Prometheus adiciona automaticamente:

Etiquetas predefinidas
Etiqueta de métrica Descrição
job O nome interno da tarefa de recolha usada para recolher a métrica. As tarefas criadas 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 únicos determinados internamente para evitar conflitos de nomes.
instance O $IP:$PORT do serviço descontinuado. Se um recurso de carga de trabalho tiver várias réplicas, use este campo para as diferenciar.

Os exemplos de código seguintes mostram a utilização de pares de chave-valor para etiquetas para consultar diferentes métricas:

  • Veja todas as streams de métricas das operações processadas no seu projeto:

    processed_ops_total
    
  • Veja as operações processadas recolhidas num cluster do Kubernetes:

    processed_ops_total{cluster="CLUSTER_NAME"}
    
  • Veja a utilização da CPU recolhida num cluster do Kubernetes:

    cpu_usage{cluster="CLUSTER_NAME"}
    

Use a ferramenta de reetiquetagem de métricas para adicionar etiquetas não expostas inicialmente pelos contentores eliminados e mudar o nome das métricas produzidas. Tem de configurar o recurso personalizado MonitoringTarget para adicionar etiquetas às métricas que recolhe. Especifique essas etiquetas no campo metricsRelabelings do recurso personalizado. Para mais informações, consulte o artigo Métricas de etiquetas.

Consulte métricas da API Cortex

O Cortex é o armazenamento a longo prazo para métricas do Prometheus no GDC. A plataforma de observabilidade expõe um ponto final da API HTTP Cortex para consultar e ler métricas, alertas e outros dados de séries cronológicas do Prometheus do seu projeto.

Consulte métricas diretamente da API HTTP para ler e exportar métricas e outros dados de séries cronológicas para ferramentas externas, configurar tarefas automatizadas, adaptar respostas e criar integrações de acordo com o seu exemplo de utilização de monitorização do sistema. Por exemplo, inserir a saída noutro comando, exportar detalhes para formatos de ficheiros de texto ou configurar uma tarefa cron do Linux. Pode chamar a API a partir da interface de linhas de comando (CLI) ou de um navegador de Internet e usar expressões da linguagem de consulta como parâmetros de ponto final para obter o resultado no formato JSON.

Esta secção explica como chamar o ponto final da API Cortex a partir da CLI usando a especificação da API Prometheus para consultar métricas de observabilidade de dados.

Antes de começar

Tem de obter autorização para consultar métricas a partir da CLI. Para receber as autorizações necessárias para aceder ao ponto final da API Cortex, peça ao administrador de IAM do projeto que lhe atribua a função de visualizador do Prometheus do Project Cortex (project-cortex-prometheus-viewer).

Crie as seguintes associações de funções com os comandos kubectl para o Cortex Prometheus para cada perfil fictício:

  1. Administrador principal 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 principal (PA) – 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 principal do operador da aplicação (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 o seguinte:

    • PROJECT_NAME: o nome do seu projeto.
    • USER_NAME: o nome da conta do utilizador que requer a associação de funções.

Depois de criar a associação de funções, pode aceder à API Prometheus com o seu nome de utilizador de início de sessão.

Ponto final da API HTTP

O seguinte URL é o ponto final da API HTTP para aceder às métricas no projeto platform-obs:

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

Substitua o seguinte:

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

Chame o ponto final da API

Siga os passos seguintes para aceder ao ponto final da API Cortex a partir da CLI e consultar métricas:

  1. Certifique-se de que cumpre os pré-requisitos.
  2. Abra a CLI.
  3. Use a ferramenta curl para chamar o ponto final do Cortex e estender o URL através do https://prometheus.io/docs/prometheus/latest/querying/api/ padrão para consultar métricas. Por 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
    

Obtém a saída na CLI após o comando. O formato de resposta da API é JSON.