一、应用场景
当环境中包含GPU节点时,需要了解GPU应用使用节点GPU资源的情况,例如GPU利用率、显存使用量、GPU运行的温度、GPU的功率等。
在获取GPU监控指标后,用户可根据应用的GPU指标配置弹性伸缩策略,或者根据GPU指标设置告警规则。
下文是基于开源Prometheus和DCGM Exporter实现丰富的GPU观测场景
二、采集GPU监控指标
部署dcgm-exporter组件进行GPU指标的采集,同时以9400端口对外暴露GPU指标。
该文利用docker进行gpu监控部署
docker pull nvcr.io/nvidia/k8s/dcgm-exporter:3.0.4-3.0.0-ubuntu20.04
1. 安装 NVIDIA Container Toolkit
确定您的 Linux 发行版和版本:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
添加 NVIDIA Container Toolkit 的 GPG 密钥:
curl -s -L https://nvidia.github.io/nvidia-container-toolkit/gpgkey | sudo apt-key add -
添加 NVIDIA Container Toolkit 的 APT 软件源:
curl -s -L https://nvidia.github.io/nvidia-container-toolkit/ubuntu${distribution}/nvidia-container-toolkit.list | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
更新您的 yum软件包列表并安装 NVIDIA Container Toolkit:
yum update
yum install -y libseccomp
yum install -y nvidia-container-toolkit
安装完成之后执行如下验证是否安装成功:
rpm -qa | grep nvidia
2. 启动dcgm-exporter容器
运行带有 GPU 支持的容器:
sudo docker run -d --gpus all -p 9400:9400 --restart=always nvcr.io/nvidia/k8s/dcgm-exporter:3.0.4-3.0.0-ubuntu20.04
3. 测试dcgm-exporter的metrics指标
调用dcgm-exporter接口,验证采集的应用GPU信息。
例如:IP地址为:192.168.0.10
curl 192.168.0.10:9400/metrics
4. 集成prometheus
修改监控内容
sudo vim /etc/prometheus/prometheus.yml
添加以下代码
- job_name: 'gpu_metrics'
static_configs:
- targets: ['gpu_exporter_host:9400']
格式如下
重启prometheus
systemctl restart prometheus
5.集成 grafana大盘
登录Grafana页面查看GPU信息
如您安装了Grafana,您可通过导入NVIDIA DCGM Exporter Dashboard来展示gpu的相关指标信息。
关于在Grafana导入Dashboard的方法,请参见Manage dashboards。