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

相关推荐
蓝胖的四次元口袋20 小时前
Prometheus+Grafana知识梳理(1)
grafana·prometheus
哈__2 天前
日志散在多台服务器怎么查?用 Promtail + Loki + Grafana 搭一套集中检索平台
运维·服务器·grafana
DylanlZhao14 天前
我想看看本地 LLM 给我省了多少钱,于是我监控了它
llm·grafana
天天喝旺仔16 天前
Prometheus + Grafana 监控告警体系搭建实战:从 Exporter 指标采集、PromQL 查询到 Alertmanager 告警落地
容器·kubernetes·grafana·prometheus·时序数据库
qq_4523962323 天前
第十二篇:《数据采集:Grafana Alloy、Fluent Bit、Vector 的选型与配置》
java·贪心算法·grafana
2601_9620973623 天前
可观测性实战:Prometheus+Grafana+OTel构建监控
grafana·prometheus·微服务架构·可观测性·opentelemetry
Joker-Full-stack23 天前
higress Grafana生产事故复盘:Loki 2.9 WAL 竞态 Bug 导致 5 天审计日志消失
bug·grafana·higress
IT界的老黄牛23 天前
Jenkins 监控一条龙:接入、看板 9964、11 条告警规则直接抄走
jenkins·grafana·prometheus·监控·ci-cd·告警规则
heimeiyingwang24 天前
【Prometheus·可视化篇】Grafana 集成:数据源配置与 Dashboard 设计原则
grafana·prometheus
2601_9620973625 天前
GraphQL,Grafana和Dash
python·grafana·数据可视化·graphql·dash