LLM 平台监控告警(DCGM-exporter + Prometheus + Grafana GPU 指标)
一、背景
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
|
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 立即隔离该卡并联系硬件