Coletar e ver métricas do DCGM


É possível monitorar a utilização, o desempenho e a integridade da GPU configurando o GKE para que envie métricas do NVIDIA Data Center GPU Manager (DCGM) ao Cloud Monitoring.

Quando você ativa as métricas do DCGM, o GKE instala a ferramenta DCGM-Exporter, instala drivers de GPU gerenciados pelo Google e implanta um recurso ClusterPodMonitoring para que envie métricas ao Google Cloud Managed Service para Prometheus.

Também é possível configurar o DCGM autogerido se você quiser personalizar o conjunto de métricas do DCGM ou se tiver um cluster que não atenda aos requisitos para métricas do DCGM gerenciado.

O que é o DCGM?

O NVIDIA Data Center GPU Manager (DCGM) é um conjunto de ferramentas da NVIDIA que permitem gerenciar e monitorar GPUs NVIDIA. O DCGM oferece uma visão ampla da GPU em termos de utilização, desempenho e integridade.

  • As métricas de utilização da GPU são uma indicação de como a GPU monitorada está ocupada e se ela é usada de forma eficaz para processar tarefas. Isso inclui métricas de processamento central, memória, E/S e consumo de energia.
  • As métricas de desempenho da GPU se referem à eficácia e eficiência com que uma GPU pode realizar uma tarefa computacional. Isso inclui métricas de velocidade do clock e temperatura.
  • As métricas de E/S da GPU, como NVlink e PCIe, medem a largura de banda de transferência de dados.

Antes de começar

Antes de começar, verifique se você realizou as tarefas a seguir:

  • Ativar a API Google Kubernetes Engine.
  • Ativar a API Google Kubernetes Engine
  • Se você quiser usar a Google Cloud CLI para essa tarefa, instale e, em seguida, inicialize a CLI gcloud. Se você instalou a CLI gcloud anteriormente, instale a versão mais recente executando gcloud components update.

Requisitos para as métricas do NVIDIA Data Center GPU Manager (DCGM)

Para coletar métricas do NVIDIA Data Center GPU Manager (DCGM), o cluster do GKE precisa atender aos seguintes requisitos:

Configurar a coleta de métricas do DCGM

É possível ativar o GKE para coletar métricas do DCGM em um cluster existente usando o console do Google Cloud, a gcloud CLI ou o Terraform.

Console

  1. Crie um pool de nós de GPU.

    Use Padrão ou Mais recente para instalação do driver de GPU.

  2. Acesse a página Google Kubernetes Engine no console do Google Cloud.

    Acessar o Google Kubernetes Engine

  3. Clique no nome do cluster.

  4. Ao lado de Cloud Monitoring, clique em .

  5. Selecione SYSTEM e DCGM.

  6. Clique em "Salvar".

gcloud

  1. Crie um pool de nós de GPU.

    Use default ou latest para --gpu-driver-version.

  2. Atualize o cluster:

    gcloud container clusters update CLUSTER_NAME \
        --location=COMPUTE_LOCATION \
        --enable-managed-prometheus \
        --monitoring=SYSTEM,DCGM
    

    Substitua:

Terraform

Para configurar a coleta de métricas do DCGM usando o Terraform, consulte o bloco monitoring_config no registro do Terraform para google_container_cluster. Para informações gerais sobre como usar o Google Cloud com o Terraform, consulte Terraform com o Google Cloud.

Usar métricas do DCGM

É possível conferir as métricas do DCGM usando os painéis no console do Google Cloud ou diretamente nas páginas de visão geral e detalhes do cluster. Para mais informações, consulte Conferir métricas de observabilidade.

É possível conferir as métricas usando o painel de métricas do DCGM do Grafana. Para mais informações, veja Consultar usando o Grafana. Se você encontrar erros, consulte Compatibilidade com a API.

Preços

As métricas do DCGM usam o Google Cloud Managed Service para Prometheus para carregar métricas no Cloud Monitoring. O Cloud Monitoring cobra pela ingestão dessas métricas com base no número de amostras ingeridas. No entanto, essas métricas são gratuitas para os clusters registrados que pertencem a um projeto com o GKE edição Enterprise ativado.

Para mais informações, consulte preços do Cloud Monitoring.

Cota

As métricas do DCGM consomem a cota de Solicitações de ingestão de séries temporais por minuto da API Cloud Monitoring. Antes de ativar os pacotes de métricas, verifique o pico de uso recente dessa cota. Se você tiver muitos clusters no mesmo projeto ou já estiver perto do limite dessa cota, solicite um aumento no limite de cota antes de ativar qualquer pacote de observabilidade.

Métricas do DCGM

Os nomes das métricas do Cloud Monitoring nesta tabela precisam ser prefixados com prometheus.googleapis.com/. Esse prefixo foi omitido das entradas na tabela.

Além dos rótulos no recurso monitorado prometheus_target, todas as métricas do DCGM coletadas no GKE têm os seguintes rótulos anexados:

Rótulos da GPU:

  • UUID: o UUID do dispositivo da GPU.
  • device: o nome do dispositivo da GPU.
  • gpu: o número do índice como um número inteiro do dispositivo de GPU no nó. Por exemplo, se houver 8 GPUs anexadas, esse valor poderá variar de 0 a 7.
  • modelName: o nome do modelo do dispositivo de GPU, como NVIDIA L4.

Marcadores do Kubernetes:

  • container: o nome do contêiner do Kubernetes que usa o dispositivo de GPU.
  • namespace: o namespace do Kubernetes do pod e do contêiner que usa o dispositivo de GPU.
  • pod: o pod do Kubernetes que usa o dispositivo de GPU.
Nome da métrica do PromQL
Nome da métrica do Cloud Monitoring
Tipo, Classe, Unidade
Recursos monitorados
Versão obrigatória do GKE
Descrição
DCGM_FI_DEV_FB_FREE
DCGM_FI_DEV_FB_FREE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Framebuffer livre em MB.
DCGM_FI_DEV_FB_TOTAL
DCGM_FI_DEV_FB_TOTAL/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Framebuffer total da GPU em MB.
DCGM_FI_DEV_FB_USED
DCGM_FI_DEV_FB_USED/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Framebuffer usado em MB.
DCGM_FI_DEV_GPU_TEMP
DCGM_FI_DEV_GPU_TEMP/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Leituras atuais de temperatura do dispositivo (em °C).
DCGM_FI_DEV_GPU_UTIL
DCGM_FI_DEV_GPU_UTIL/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Uso da GPU (em %).
DCGM_FI_DEV_MEM_COPY_UTIL
DCGM_FI_DEV_MEM_COPY_UTIL/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Uso da memória (em %).
DCGM_FI_DEV_MEMORY_TEMP
DCGM_FI_DEV_MEMORY_TEMP/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Temperatura da memória do dispositivo (em °C).
DCGM_FI_DEV_POWER_USAGE
DCGM_FI_DEV_POWER_USAGE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Consumo de energia do dispositivo (em watts).
DCGM_FI_DEV_SM_CLOCK
DCGM_FI_DEV_SM_CLOCK/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Frequência do clock do SM (em MHz).
DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION
DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION/counter

CUMULATIVEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Consumo de energia total da GPU em mJ desde a última recarga do driver.
DCGM_FI_PROF_DRAM_ACTIVE
DCGM_FI_PROF_DRAM_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
A proporção de ciclos em que a interface de memória do dispositivo está ativa enviando ou recebendo dados.
DCGM_FI_PROF_GR_ENGINE_ACTIVE
DCGM_FI_PROF_GR_ENGINE_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
A proporção de tempo em que o motor gráfico está ativo.
DCGM_FI_PROF_NVLINK_RX_BYTES
DCGM_FI_PROF_NVLINK_RX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
A taxa de dados ativos de rx (leitura) do NvLink em bytes, incluindo cabeçalho e payload.
DCGM_FI_PROF_NVLINK_TX_BYTES
DCGM_FI_PROF_NVLINK_TX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
A taxa de dados ativos de tx (transmissão) do NvLink em bytes, incluindo cabeçalho e payload.
DCGM_FI_PROF_PCIE_RX_BYTES
DCGM_FI_PROF_PCIE_RX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
A taxa de dados ativos de rx (leitura) do PCIe em bytes, incluindo cabeçalho e payload.
DCGM_FI_PROF_PCIE_TX_BYTES
DCGM_FI_PROF_PCIE_TX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
A taxa de dados ativos de tx (transmissão) do PCIe em bytes, incluindo cabeçalho e payload.
DCGM_FI_PROF_PIPE_FP16_ACTIVE
DCGM_FI_PROF_PIPE_FP16_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
A proporção de ciclos em que o pipe fp16 está ativo.
DCGM_FI_PROF_PIPE_FP32_ACTIVE
DCGM_FI_PROF_PIPE_FP32_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
A proporção de ciclos em que o pipe fp32 está ativo.
DCGM_FI_PROF_PIPE_FP64_ACTIVE
DCGM_FI_PROF_PIPE_FP64_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
A proporção de ciclos em que o pipe fp64 está ativo.
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
A proporção de ciclos em que qualquer pipe tensor está ativo.
DCGM_FI_PROF_SM_ACTIVE
DCGM_FI_PROF_SM_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
A proporção de ciclos em que uma SM tem pelo menos um warp atribuído.

A seguir