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

2024-08-22 20:44

本文主要是介绍监控篇之利用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。
在这里插入图片描述

这篇关于监控篇之利用dcgm-exporter监控GPU指标并集成grafana大盘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1097351

相关文章

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

判断PyTorch是GPU版还是CPU版的方法小结

《判断PyTorch是GPU版还是CPU版的方法小结》PyTorch作为当前最流行的深度学习框架之一,支持在CPU和GPU(NVIDIACUDA)上运行,所以对于深度学习开发者来说,正确识别PyTor... 目录前言为什么需要区分GPU和CPU版本?性能差异硬件要求如何检查PyTorch版本?方法1:使用命

Spring Boot 集成 Quartz并使用Cron 表达式实现定时任务

《SpringBoot集成Quartz并使用Cron表达式实现定时任务》本篇文章介绍了如何在SpringBoot中集成Quartz进行定时任务调度,并通过Cron表达式控制任务... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启动 Sprin

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

AJAX请求上传下载进度监控实现方式

《AJAX请求上传下载进度监控实现方式》在日常Web开发中,AJAX(AsynchronousJavaScriptandXML)被广泛用于异步请求数据,而无需刷新整个页面,:本文主要介绍AJAX请... 目录1. 前言2. 基于XMLHttpRequest的进度监控2.1 基础版文件上传监控2.2 增强版多

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

Spring Boot 集成 Quartz 使用Cron 表达式实现定时任务

《SpringBoot集成Quartz使用Cron表达式实现定时任务》本文介绍了如何在SpringBoot项目中集成Quartz并使用Cron表达式进行任务调度,通过添加Quartz依赖、创... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI集成DeepSeek实现流式输出的操作方法

《SpringAI集成DeepSeek实现流式输出的操作方法》本文介绍了如何在SpringBoot中使用Sse(Server-SentEvents)技术实现流式输出,后端使用SpringMVC中的S... 目录一、后端代码二、前端代码三、运行项目小天有话说题外话参考资料前面一篇文章我们实现了《Spring