监控篇之利用dcgm-exporter监控GPU指标并集成grafana大盘

一、应用场景

当环境中包含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

相关推荐
Junsir大斗师3 天前
rocky9.7搭建grafana+loki+prometheus+alloy+node_exporter运维监控平台
linux·运维·grafana·prometheus
青皮桔4 天前
Prometheus + Grafana实现服务器监控
服务器·grafana·prometheus
1candobetter5 天前
文件下载接口从预热到正式性能测试实践(JMeter + Prometheus + Grafana)
jmeter·grafana·prometheus
文青小兵7 天前
Linux云计算——docker 监控(五)
linux·docker·云计算·grafana·prometheus
codeejun9 天前
每日一Go-70、Prometheus + Grafana 从采集到告警的完整实战(Go + Kind)
golang·grafana·prometheus
king_harry11 天前
Kylinv10下日志收集系统 Loki + Promtail + Grafana(二进制离线部署)
grafana·loki·promtail
zhojiew12 天前
在Ray集群中使用vLLM部署LLM模型并集成Prometheus和Grafana进行指标观测的实践
grafana·prometheus·vllm
zxd02031113 天前
Prometheus + Grafana 监控平台搭建实战指南
grafana·prometheus
叶~小兮13 天前
Prometheus+Grafana监控平台完整学习笔记
学习·grafana·prometheus