• Monitoramento Avançado de GPUs com DCGM-Exporter, Prometheus e Grafana
blog-thumb

Introdução

Você sabia que cada GPU do seu ambiente pode gerar dados valiosos? Se analisadas corretamente, essas métricas podem otimizar o desempenho, reduzir custos e acelerar decisões estratégicas.

O DCGM-Exporter da NVIDIA permite extrair métricas detalhadas de GPUs, integrando-se facilmente com Prometheus e Grafana para dashboards inteligentes e visualizações em tempo real.


Por que é importante monitorar suas GPUs

Muitas empresas perdem oportunidades por não acompanharem corretamente seus recursos de GPU. Com um monitoramento estratégico, você pode:

  • Detectar gargalos de desempenho antes que afetem a produção.
  • Otimizar o uso de recursos e reduzir custos.
  • Tomar decisões baseadas em dados, não em suposições.
  • Monitorar múltiplos clusters de forma centralizada.

O verdadeiro valor surge quando você consegue centralizar métricas e transformá-las em insights acionáveis.


O que você vai descobrir neste post

Aqui você aprenderá, passo a passo:

  1. Configurar rapidamente o DCGM-Exporter no Docker
  2. Fazer deploy no Kubernetes usando Helm Chart
  3. Integrar métricas ao Prometheus central
  4. Visualizar dashboards poderosos no Grafana

Tudo isso com foco em transformar métricas brutas em informações estratégicas para o seu negócio.


Executando DCGM-Exporter no Docker

Para rodar o DCGM-Exporter rapidamente em uma máquina com GPU:

docker run -d --gpus all --cap-add SYS_ADMIN --rm -p 9400:9400   nvcr.io/nvidia/k8s/dcgm-exporter:4.4.1-4.5.2-ubuntu22.04

Testar o endpoint de métricas:

curl localhost:9400/metrics

Saída esperada:

# HELP DCGM_FI_DEV_SM_CLOCK SM clock frequency (in MHz).
# TYPE DCGM_FI_DEV_SM_CLOCK gauge
DCGM_FI_DEV_SM_CLOCK{gpu="0",UUID="GPU-604ac76c-d9cf-xxx"} 139

Deploy do DCGM-Exporter no Kubernetes

A NVIDIA mantém um Helm Chart oficial para instalar o DCGM-Exporter em clusters Kubernetes:

helm repo add gpu-helm-charts https://nvidia.github.io/dcgm-exporter/helm-charts
helm repo update
helm install --generate-name gpu-helm-charts/dcgm-exporter

Verificar o pod:

kubectl get pods -l "app.kubernetes.io/name=dcgm-exporter" -n default

Acessar métricas localmente:

kubectl port-forward svc/dcgm-exporter 8080:9400
curl http://127.0.0.1:8080/metrics

Configurando Prometheus Local no Docker

Adicione um job de scrape para coletar métricas do DCGM-Exporter em prometheus.yml:

scrape_configs:
  - job_name: "dcgm-exporter"
    static_configs:
      - targets: ["host.docker.internal:9400"]

Use host.docker.internal no Docker Desktop (Windows/Mac). No Linux, substitua pelo IP da máquina host.

Reinicie o Prometheus:

docker run -d --name prometheus --network=host   -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml   prom/prometheus

Agora suas métricas do DCGM-Exporter serão coletadas corretamente.


Integração com Grafana

A NVIDIA oferece um dashboard oficial para visualizar as métricas:

Basta importar o JSON no Grafana e começar a explorar insights em tempo real.

Para aproveitar todo o potencial dos seus dados, envie as métricas do Prometheus local para um Prometheus central, que se comunica diretamente com o Grafana, permitindo:

  • Visualizações precisas e em tempo real.
  • Insights acionáveis para decisões estratégicas.
  • Monitoramento simplificado de múltiplos clusters.

Quer saber mais ou implementar essa integração no seu ambiente? Entre em contato e transforme suas métricas em decisões inteligentes!


Conclusão

Com o DCGM-Exporter, é possível monitorar GPUs em ambientes on-premise ou clusters Kubernetes, integrando de forma simples com Prometheus e Grafana.