LLM 平台监控告警(DCGM-exporter + Prometheus + Grafana GPU 指标)
2026-08-11 09:57:40 # Kubernetes

一、背景

GPU 是稀缺资源,必须可观测:利用率、显存、温度、功耗、ECC 错误都直接关系到任务健康与成本。本文用 DCGM-Exporter + Prometheus + Grafana 构建 GPU 监控。

二、环境信息

  • K8s + NVIDIA GPU 节点 + nvidia-device-plugin
  • Prometheus(Operator 模式)+ dcgm-exporter + Grafana

三、操作要点

1. 部署 dcgm-exporter

1
2
3
kubectl apply -f https://raw.githubusercontent.com/NVIDIA/dcgm-exporter/main/daemonset.yaml
# 关键环境变量:
# DCGM_EXPORTER_COLLECTORS=default

2. Prometheus 抓取(ServiceMonitor)

1
2
3
4
5
6
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata: { name: dcgm, labels: { release: kube-prometheus } }
spec:
selector: { matchLabels: { app: dcgm-exporter } }
endpoints: [{ port: metrics }]

3. 关键指标

指标 含义
DCGM_FI_DEV_GPU_UTIL GPU 利用率 %
DCGM_FI_DEV_MEM_COPY_UTIL 显存带宽利用率
DCGM_FI_DEV_FB_USED 已用显存
DCGM_FI_DEV_GPU_TEMP 温度
DCGM_FI_DEV_POWER_USAGE 功耗 W
DCGM_FI_DEV_ECC_DBE_AGG_TOTAL ECC 双比特错误

4. 告警规则

1
2
3
4
5
6
- alert: GPUHighTemp
expr: DCGM_FI_DEV_GPU_TEMP > 85
for: 5m
- alert: GPUMemNearFull
expr: DCGM_FI_DEV_FB_USED / DCGM_FI_DEV_FB_TOTAL > 0.95
for: 5m

四、验证方式

1
2
3
kubectl get servicemonitor dcgm
kubectl port-forward svc/dcgm-exporter 9400:9400
curl localhost:9400/metrics | grep DCGM_FI_DEV_GPU_UTIL

五、常见问题

  • dcgm-exporter 与驱动版本不兼容:升级 exporter 或驱动
  • 指标名变化:不同 DCGM 版本 collector 不同,核对 :9400/metrics
  • 标签不对齐:Grafana 面板查询的 label 须与 Prometheus 实际一致
  • ECC 错误:出现 DBE 立即隔离该卡并联系硬件