监控篇之利用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

相关推荐
linux修理工36 分钟前
n1 ARMbian部署Grafana
arm开发·架构·grafana
_何同学3 天前
Spring Boot 监控实战:集成 Prometheus 与 Grafana,打造全方位监控体系
spring boot·grafana·prometheus
苦逼IT运维6 天前
Jenkins 监控方案:Prometheus + Grafana 实践
jenkins·grafana·prometheus
川石课堂软件测试8 天前
Oracle 数据库:视图与索引
数据库·网络协议·nginx·http·oracle·grafana·prometheus
川石课堂软件测试8 天前
Oracle 数据库如何查询列
linux·数据库·sql·功能测试·oracle·grafana·prometheus
MasterNeverDown12 天前
.NET 微服务日志系统:Serilog + Loki + Grafana 实践指南
微服务·.net·grafana
❀͜͡傀儡师13 天前
docker安装Prometheus和Grafana 监控界面
docker·grafana·prometheus
好运连连99913 天前
ubuntu promethus+grafana监控多台服务器
linux·ubuntu·grafana
夏目&贵志14 天前
prometheus+grafana监控系统
docker·grafana·prometheus
强_子15 天前
基于 Prometheus+Alertmanager+Grafana 打造监控报警后台(四)-Grafana告警配置
服务器·grafana·prometheus