首页 > 其他分享 >Docker 环境下 GPU 监控实战:使用 Prometheus 实现 DCGM Exporter 部署与 GPU 性能监控

Docker 环境下 GPU 监控实战:使用 Prometheus 实现 DCGM Exporter 部署与 GPU 性能监控

时间:2024-10-09 11:22:42浏览次数:12  
标签:exporter -- nvidia Exporter 监控 dcgm GPU Docker

Docker 环境下 GPU 监控实战:使用 Prometheus 实现 DCGM Exporter 部署与 GPU 性能监控

文章目录


本文介绍了如何在 Docker 环境下,通过 Prometheus 和 DCGM Exporter 实现对 GPU 资源的监控。文章首先展示了如何使用 nvidia-smi 查看 GPU 信息,并提供了通过 Docker run 和 Docker Compose 部署 DCGM Exporter 的详细步骤。接着,文章还解决了部署过程中可能遇到的 NVML 初始化错误,指导用户安装 NVIDIA 容器工具包,确保 GPU 监控顺利进行。最后,用户可以通过 Prometheus 配置抓取 GPU 性能指标数据,并通过访问 metrics 页面验证系统是否成功运行,帮助开发者和运维人员实现对 GPU 资源的高效监控和管理。

预备课

Docker 安装与配置:从入门到部署

Docker 部署 Prometheus+Grafana 监控系统快速指南

Docker Compose 部署大模型GPU集群:高效分配与管理算力资源

一 查看当前 GPU 信息

nvidia-smi

当前GPU信息

在这里插入图片描述

二 dcgm-exporter 部署

1)Docker run 运行
$ DCGM_EXPORTER_VERSION=2.1.4-2.3.1 && \
  docker run -d --rm \
   --gpus all \
   --net host \
   --cap-add SYS_ADMIN \
   nvcr.io/nvidia/k8s/dcgm-exporter:${DCGM_EXPORTER_VERSION}-ubuntu20.04 \
   -f /etc/dcgm-exporter/dcp-metrics-included.csv
# 或者

或者

$ sudo docker run -d --gpus all --rm -p 9400:9400 nvidia/dcgm-exporter:3.2.5-3.1.8-ubi8

:测试时可以用 --rm ,其他情况删除上面的 --rm

2)Docker compose 运行

docker-compose.gpu192.yml

version: '3'
services:
  dcgm-exporter:
    image: nvidia/dcgm-exporter:3.2.5-3.1.8-ubi8
    container_name: dcgm-exporter
    hostname: dcgm-exporter_192
    restart: always
    ports:
      - "9400:9400"

三 运行时报错

运行上面的 docker compose 报错,如下

dcgm-exporter  | Warning #2: dcgm-exporter doesn't have sufficient privileges to expose profiling metrics. To get profiling metrics with dcgm-exporter, use --cap-add SYS_ADMIN
dcgm-exporter  | time="2023-10-23T07:55:38Z" level=info msg="Starting dcgm-exporter"
dcgm-exporter  | Error: Failed to initialize NVML
dcgm-exporter  | time="2023-10-23T07:55:38Z" level=fatal msg="Error starting nv-hostengine: DCGM initialization error"

ERROR

docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
解决方案

需要 安装 NVIDIA 容器工具包

curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \
sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
# 
sudo yum install -y nvidia-container-toolkit
#
sudo nvidia-ctk runtime configure --runtime=docker
#
sudo systemctl restart docker

运行,sudo nvidia-ctk runtime configure --runtime=docker,追加 /etc/docker/daemon.json 的内容

{
    "runtimes": {
        "nvidia": {
            "args": [],
            "path": "nvidia-container-runtime"
        }
    }
}

四 验证测试

访问 URL:http://your-ip:9400/metrics 。

五 配置 prometheus

global:
  scrape_interval: 15s # 设置全局默认的抓取周期为15秒,这意味着Prometheus每15秒从配置的目标处拉取数据一次
  external_labels:
    monitor: gpu-monitor # 给所有从此Prometheus实例抓取的数据添加额外的标签,这里的标签名是"monitor",值是"gpu-monitor"

scrape_configs:
  - job_name: 'dcgm-exporter' # 定义一个抓取任务,名称为'dcgm-exporter'
    static_configs:
      - targets: ['your-ip:9400'] # 指定抓取目标,这里是位于'your-ip'的主机上,端口为9400的服务

属性解释
  • scrape_interval 定义了Prometheus抓取指标数据的频率。
  • external_labels 用于添加一些额外的、全局的标签到抓取到的数据中,这有助于在多个Prometheus实例中区分数据来源。
  • scrape_configs 部分定义了具体的抓取任务。每个任务可以有不同的目标和配置。
  • job_name 为这个抓取任务命名,可以在Prometheus的查询界面中用于区分不同的任务。
  • static_configs 中的 targets 列表指定了具体的抓取目标。这里的地址需要替换成实际的IP地址和端口,通常是运行监控代理的服务器地址。

标签:exporter,--,nvidia,Exporter,监控,dcgm,GPU,Docker
From: https://blog.csdn.net/u014394049/article/details/142781028

相关文章

  • 基于爬虫与文本挖掘的网络舆情监控系统python
    本网络舆情监控系统基于Java与SpringBoot技术,结合爬虫与文本挖掘功能,旨在高效地监测和分析网络舆情。系统设计上注重高效性与准确性。Java语言提供了稳定的基础开发环境,确保系统的可靠运行。SpringBoot框架使得系统易于构建和扩展,能快速集成各种相关组件。利用爬......
  • 液体泄露检测系统 监控识别管道液体泄漏系统
    液体泄露检测系统通过在关键区域安装监控摄像头,液体泄露检测系统对管道的液体泄露情况进行全天候不间断实时监测。液体泄露检测系统利用Ai视觉智能分析技术,实时感知监控画面中管道液体泄露事件。液体泄露检测系统检测到画面中管道设备液体泄露现象时,将自动发出警报提示相关人员及......
  • springboot+vue基于B_S架构的视频监控系统的设计与实现【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和互联网的广泛普及,视频监控系统已成为现代社会安全防范的重要手段。传统的视频监控系统大多基于C/S(Client/Server)架构,存在部署复杂、维护成本高以及可扩展性差等问题。而B/S(Browser/Server)架构以其易于部署、......
  • Prometheus + Grafana 监控 MySQL 数据库
    文章目录1、前置介绍2、搭建流程2.1、安装Docker2.2、安装MySQL2.3、安装MySQLExporter2.4、安装Prometheus2.5、安装Grafana1、前置介绍本次监控平台搭建,我使用2台阿里云服务器来完成本次的搭建部署操作,配置如下:阿里云ECS1:2核2G,Ubuntu22.02,内网ip:172.16.0......
  • 推荐10款用户友好的电脑监控软件,员工电脑怎么监控
    随着信息化和数字化的不断发展,企业、家长和个人对电脑监控软件的需求逐年增加。这类软件可以帮助管理电脑活动,确保工作效率,维护数据安全,甚至可以帮助家长监管孩子的上网行为。在这篇文章中,我们将推荐10款用户友好的电脑监控软件,包括功能强大的国内产品固信软件,以及几款国际知名......
  • 监控证书有效期
    脚本监控域名证书有效期,超过60天邮件通知脚本路径:/opt/domain_script-check_public_domain_ssl.py-check_ssl_data#域名证书检查结果文件目录-domain_datasource#扫描域名列表目录-logs#记录日志]$cat/opt/domain_script/domain_datasource/public_domain_li......
  • 非煤矿山电子封条视频监控系统
    非煤矿山电子封条视频监控系统采用现场摄像头和图像分析终端等设备,非煤矿山电子封条视频监控系统通过对煤矿关键地点进行实时监测和数据分析。当有异常情况发生时,非煤矿山电子封条视频监控系统可以通过人工智能算法将自动识别异常情况并记录信息,及时通知现场管理人员进行处理。非......
  • 论文分享-《GPU Memory Exploitation for Fun and Profit》
    1.研究问题该论文对NVIDIAGPU上不同内存空间(globalmemory,localmemory,sharedmemory)中存在的bufferoverflow问题进行了深入的研究,并成功对在GPU上运行的DNN应用实现了ROP攻击。以往的研究局限于单一内存空间中bufferoverflow的影响,没有对不同内存空间的跨......
  • 索迪迈车载监控设备有哪些优势
    一、抽拔式硬盘设计便捷的数据管理车载监控设备需要应对大量的音视频数据。索迪迈车载监控设备采用了先进的抽拔式硬盘设计,使得数据管理变得极为方便。监控主机的硬盘不仅可以锁定在机器上,也可以轻松地从设备上抽取出,便于将录像数据带回管理中心进行统一管理和备份。相较于USB接口......
  • Kafka系列---【安装kafka监控工具EFAK】
    1.下载安装包EFAK官网:https://www.kafka-eagle.org/2.上传安装包到服务器并解压#注意:这里有两层,再解压一次tar-zxvfkafka-eagle-bin-3.0.1.tar.gztar-zxvfefak-web-3.0.1-bin.tar.gz3.修改配置文件viconfig/system-config.properties#修改zk和数据库#注意,默认......