算力机房监控大屏,实时查看GPU负载温度
算力机房监控大屏:实时查看GPU负载与温度
本文面向零基础运维人员,讲解如何搭建一套算力机房监控大屏,用来实时查看GPU负载和温度。
你将学会用Prometheus采集数据、Grafana展示图表,并验证监控是否生效。
动手前需要准备什么
先确认你的环境满足以下条件:
- 一台Linux服务器(Ubuntu 20.04或CentOS 7以上),能访问互联网。
- 服务器上已安装NVIDIA驱动和
nvidia-smi命令,执行nvidia-smi能看到GPU信息。 - 开放以下端口:
9090(Prometheus)、3000(Grafana)、9400(DCGM Exporter)。 - 建议分配至少2核CPU、4GB内存、20GB磁盘。
如果GPU驱动没装好,先参考NVIDIA官方文档安装驱动,确认nvidia-smi输出正常后再继续。
部署监控组件
我们选用Prometheus + Grafana + DCGM Exporter这套组合。
DCGM Exporter负责从GPU采集指标,Prometheus拉取并存储数据,Grafana读取后展示大屏。
第一步:安装DCGM Exporter
DCGM Exporter是NVIDIA官方提供的GPU指标导出器。
用Docker运行最省事:
docker run -d --gpus all --rm -p 9400:9400 \
-v /run/nvidia-persistenced:/run/nvidia-persistenced \
nvcr.io/nvidia/k8s/dcgm-exporter:3.3.0-3.2.0-ubuntu22.04
运行后访问http://你的服务器IP:9400/metrics,能看到DCGM_FI_DEV_GPU_UTIL、DCGM_FI_DEV_GPU_TEMP等指标即成功。
第二步:安装Prometheus
下载并解压Prometheus:
wget https://github.com/prometheus/prometheus/releases/download/v2.51.2/prometheus-2.51.2.linux-amd64.tar.gz
tar xvf prometheus-2.51.2.linux-amd64.tar.gz
cd prometheus-2.51.2.linux-amd64
编辑prometheus.yml,在scrape_configs下添加任务:
scrape_configs:
- job_name: 'dcgm'
static_configs:
- targets: ['localhost:9400']
启动Prometheus:
./prometheus --config.file=prometheus.yml &
访问http://你的服务器IP:9090,在Status -> Targets里看到dcgm状态为UP即正常。
第三步:安装Grafana并导入大屏
用Docker运行Grafana:
docker run -d -p 3000:3000 --name=grafana grafana/grafana-oss
浏览器打开http://你的服务器IP:3000,默认账号密码都是admin,首次登录会要求改密码。
添加数据源:
Configuration -> Data Sources -> Add data source -> 选择Prometheus,
URL填http:,
//localhost:
9090
保存。
导入GPU监控面板:点击“+” -> Import,输入NVIDIA官方提供的Dashboard ID 12239,选择Prometheus数据源,导入。
容易踩坑的地方
- DCGM Exporter启动失败:多半是NVIDIA驱动版本太旧,建议用
nvidia-smi确认驱动版本,并参考官方兼容性说明。 - Prometheus抓不到数据:检查防火墙是否放行
9400端口,用curl localhost:9400/metrics测试。 - Grafana图表无数据:确认数据源URL不是
localhost,如果Grafana在容器内,应改为宿主机IP或容器网络别名。 - 指标不全:DCGM Exporter默认只暴露常用指标,如需更多字段可挂载自定义配置文件,具体以官方文档为准。
验证监控是否生效
打开Grafana导入的GPU面板,观察以下内容:
- GPU利用率曲线是否随任务变化而波动。
- 温度曲线是否在合理范围(通常30-80℃)。
- 显存使用量是否与实际进程匹配。
如果图表有数据且能实时刷新,说明监控大屏搭建成功。
常见疑问
问:必须用Docker吗?
不是必须,但Docker能避免依赖冲突,对新手更友好。
也可以直接下载二进制包运行,步骤类似。
问:能监控多台GPU服务器吗?
可以。
在每台服务器上部署DCGM Exporter,然后在Prometheus的targets列表里添加各服务器IP:9400即可。
问:温度多高算异常?
不同型号GPU温度上限不同,一般持续超过85℃就需要检查散热。
建议以NVIDIA官方规格为准。
按以上步骤操作后,你就能在算力机房监控大屏上实时查看GPU负载和温度了。
遇到异常时优先检查端口、驱动版本和数据源配置。