搭建基于Grafana+Prometheus+Nvidia_gpu_exporter的GPU监控平台
搭建基于Grafana+Prometheus+Nvidia_gpu_exporter的GPU监控平台
在现代数据科学和机器学习领域,GPU已成为不可或缺的硬件资源。为了高效管理和监控GPU的使用情况,构建一个实时、直观的监控系统变得尤为重要。本文将详细介绍如何使用Grafana、Prometheus以及Nvidia_gpu_exploter来构建GPU性能监控系统。
一、平台组件概述
1.Nvidia_gpu_exploter
Nvidia_gpu_exploter是一个专为Prometheus设计的Exporter,用于获取NVIDIA GPU的实时状态信息。它通过nvidia-smi命令抓取GPU的利用率、显存使用情况等数据,并将这些数据转换为Prometheus可以处理的标准格式。
2.Prometheus
Prometheus是一个开源的监控和警报工具,负责从配置的目标(如Nvidia_gpu_exploter)中抓取度量指标数据,并将其存储在自己的时间序列数据库中。在性能监控平台中,Prometheus作为数据收集、存储和查询的中心,与Grafana等可视化工具协同工作,提供全面的系统监控能力。
3.Grafana
Grafana是一个开源的监控和数据分析平台,支持多种数据源,并提供了丰富的图表和可视化选项。通过Grafana,我们可以轻松地将Prometheus中的性能测试数据以图表形式展示出来,实现实时监控和数据分析。
二、平台搭建步骤
1. 安装并启动Nvidia_gpu_exploter
Nvidia_gpu_exploter项目GitHub主页:https://github.com/utkuozdemir/nvidia_gpu_exporter?tab=readme-ov-file
有多种安装方式,这里选择下载压缩包

# 进入创建的文件夹
cd /opt/performance
# 下载 nvidia_gpu_exploter, ${VERSION}修改为当前版本, 例如:1.1.0
wget https://github.com/utkuozdemir/nvidia_gpu_exporter/releases/download/v${VERSION}/nvidia_gpu_exporter_${VERSION}_linux_x86_64.tar.gz
# 解压
tar xvfz nvidia_gpu_exporter_1.1.0_linux_x86_64.tar.gz
# nvidia_gpu_exporter服务默认运行端口为9835
nohup ./nvidia_gpu_exporter &
# 若9835端口被占用,使用以下命令指定端口运行服务
nohup ./nvidia_gpu_exporter --web.listen-address=:9102 &
我们浏览器访问被监控服务器的9835端口,出现该页面,说明成功

2. 安装和配置Prometheus
Prometheus官网下载地址:https://prometheus.io/download/#/prometheus

# 进入创建的文件夹
cd /opt/performance
# 下载 Prometheus
wget https://github.com/prometheus/prometheus/releases/download/v3.0.0-beta.0/prometheus-3.0.0-beta.0.linux-amd64.tar.gz
# 解压
tar -zxvf prometheus-3.0.0-beta.0.linux-amd64.tar.gz
# 进入文件夹
cd prometheus-3.0.0-beta.0.linux-amd64/
# 启动prometheus
nohup ./prometheus --config.file=prometheus.yml &
我们浏览器访问9090端口,出现该页面,说明安装成功

将Nvidia_gpu_exploter输出配置到Prometheus中
vim prometheus.yml
- job_name: 任意字符串,可以理解为一个标识符
- targets: node_exporter服务列表(ip + 端口号),可以多个

重启Prometheus服务
# 查找 Prometheus 进程ID
ps aux | grep prometheus
# 强制停止Prometheus进程
kill -9 [PID]
# 重新启动Prometheus服务
nohup ./prometheus --config.file=prometheus.yml &
我们浏览器再次访问9090端口,并如下图点击目录,该页面中出现我们配置好的nvidia_gpu_exploter,说明配置成功

3. 安装和配置Grafana
Grafana 官网下载地址:https://grafana.com/grafana/download

# 进入创建的文件夹
cd /opt/performance
# 下载 grafana
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-11.1.3.linux-amd64.tar.gz
# 解压
tar -zxvf grafana-enterprise-11.1.3.linux-amd64.tar.gz
# 进入文件夹
cd grafana-v11.1.3
# 修改配置文件,如下图修改启用端口为8990
vim conf/defaults.ini

# 启动服务
./bin/grafana-server &
访问页面,成功显示。用户名 & 密码 均为 admin

4. 创建仪表板和分析视图
I. 添加数据源
点击 Configuration -> Data sources 进入数据源界面,再点击 Add data source 进入新增数据源界面。

点击 Prometheus,创建Prometheus数据源。

根据下面的图片提示,填写表单:

点击 Save & test

II. 创建仪表盘
点击 Dashboards -> Browse 进入仪表盘界面,再点击 New - > import 进入导入仪表盘界面。

仪表盘模板大全:https://grafana.com/grafana/dashboards/
可根据关键字查询想要的一些模板

点击详情可获取id或获取json文件,若配置环境无网络情况下选择json文件。

我这里的仪表盘是根据仪表盘14574的模板文件进行改版的,点击下载。

选择刚刚配置好的数据源,点击 Import 导入仪表盘。

点击 Import 后,展示如下页面。

三、平台应用与优势
- 应用场景
- 实时监控:通过Grafana的仪表板,可以实时监控应用的性能指标,及时发现潜在的性能问题。
- 历史数据分析:利用Prometheus存储的历史数据,可以进行更深入的性能分析,找出性能瓶颈和趋势。
- 性能调优:基于监控和分析结果,对应用进行性能调优,提升用户体验。
- 优势
- 开源免费:Nvidia_gpu_exploter、Prometheus和Grafana都是开源软件,可以免费使用,降低了成本。
- 灵活可扩展:平台支持自定义测试脚本和查询语句,可以根据实际需求进行灵活配置和扩展。
- 可视化效果好:Grafana提供了丰富的图表和可视化选项,能够直观地展示性能测试数据。
注:安装方法不唯一,且各个教程安装版本也不相同
搭建基于Grafana+Prometheus+Nvidia_gpu_exporter的GPU监控平台的更多相关文章
- Centos8.X 搭建Grafana+Jmeter+Influxdb 性能实时监控平台
前言 本篇文章引用了小菠萝测试笔记,大部分内容非原创,基于自身实操过程中,完善了部分. 本篇随笔是在Linux上搭建的,后面会补充在docker以及k8s上如何部署安装 工具介绍 工具 介绍 Jmet ...
- Centos7.X 搭建Grafana+Jmeter+Influxdb 性能实时监控平台(不使用docker)
工具介绍 [centos7安装influxDB] Influxdata官网下载路径:https://portal.influxdata.com/downloads/ 1.直接执行以下命令安装 2.安装 ...
- 全网最详细!Centos7.X 搭建Grafana+Jmeter+Influxdb 性能实时监控平台
背景 日常工作中,经常会用到Jmeter去压测,毕竟LR还要钱(@¥&*...),而最常用的接口压力测试,我们都是通过聚合报告去查看压测结果的,然鹅聚合报告的真的是丑到家了,作为程序猿这当然不 ...
- 搭建基于SornaQube的自动化安全代码检测平台
一.背景和目的 近年来,随着新业务.新技术的快速发展,应用软件安全缺陷层出不穷.虽然一般情况下,开发者基本都会有单元测试.每日构建.功能测试等环节来保证应用的可用性.但在安全缺陷方面,缺乏安全意识.技 ...
- Grafana+Prometheus打造全方位立体监控系统
前言 本文主要介绍如何使用Grafana和Prometheus以及node_exporter对Linux服务器性能进行监控.下面两张图分别是两台服务器监控信息: 服务器A 服务器B 概述 Promet ...
- 搭建grafana+telegraf+influxdb服务器性能监控平台
最近在学习性能测试,了解到一套系统资源使用率低的监控环境,也就是grafana+telegraf+influxdb. InfluxDB是一款优秀的时间序列数据库,适合存储设备性能.日志.物联网传感器等 ...
- grafana + influxdb + telegraf , 构建性能监控平台
1.安装平台 1).grafana , 访问各类数据源 , 自定义报表.显示图表等等 , 用于提供界面监控 , 默认端口为3000 , 默认登陆信息admin wget https://grafana ...
- 基于JT/T808协议的车辆监控平台架构方案
技术支持QQ:78772895 1.接入网关应用采用mina/netty+spring架构,独立于其他应用,主要负责维护接入终端的tcp链接.上行以及下行消息的解码.编码.流量控制,黑白名单等安全控制 ...
- 基于kettle8的web端调度监控平台
发布时间:2018-11-16 技术:spring+springmvc +beetlsql+quartz+kettle8 概述 Kettle调度监控平台(以下简称KS)是一个自主开发的java ...
- 基于grafana+prometheus构建Flink监控
先上一个架构图 Flink App : 通过report 将数据发出去 Pushgateway : Prometheus 生态中一个重要工具 Prometheus : 一套开源的系统监控报警框架 ...
随机推荐
- 移动端自动化之uiautomator2
github: https://github.com/openatx/uiautomator2 [安装] pip3 install -U uiautomator2# 安装UI Inspector -- ...
- golang之fmt格式化
常用fmt中用于格式化的占位符 普通占位符 占位符 说明 举例 输出 %v 相应值的默认格式. Printf("%v", people) {zhangsan}, %+v 打印结构体 ...
- Winform在主窗体里切换多个窗体
1.点击解决方案资源管理器的项目名称,右键添加用户控件(Windows窗体). 2.在主窗体代码中实例化添加的用户控件(Windows窗体). 点击查看代码 UserControl1 userCont ...
- 【工具】navcat无限使用
1.打开无限试用工具所在文件夹,打开navcat安装所在文件夹 2.将破解dll文件移动到navcat安装目录下 然后就去试用软件吧,如果软件试用到期了或者快要到期就运行这个脚本就行. 按道理来说这个 ...
- 【转载】茅台巽风app地图详解,做任务不迷路,纯手绘
茅台发布了新的app"巽风" 根据"巽值"的排名,发放20000个虎年茅台的资格,还是可以玩一玩的 哪些途径获取"巽值" 1.做任务,和游戏 ...
- Mockito入门:如何在Spring中Mock部分对象
前情提要 随着分布式应用的开发逐渐成为标配,多个微服务团队合作来完成垂直业务的开发成为了一种常态.微服务使得团队可以专注于自己的业务逻辑,在和下游依赖和上游对接的团队聚焦好接口之后,就进入正式的开发. ...
- Exception:统一异常处理
异常包括:全局异常.特定异常和自定义异常. 第一步,创建一个异常处理类,并在类上添加 @ControllerAdvice 注解 第二步,在类中添加出现异常时要执行的方法,并在方法上添加对应注解,指定出 ...
- findHomography()函数详解
indHomography: 计算多个二维点对之间的最优单映射变换矩阵 H(3行x3列) ,使用最小均方误差或者RANSAC方法 函数功能:找到两个平面之间的转换矩阵. Mat cv::findHom ...
- 阿里IM技术分享(七):闲鱼IM的在线、离线聊天数据同步机制优化实践
本文由阿里闲鱼技术团队书闲分享,原题"如何有效缩短闲鱼消息处理时长",有修订和改动,感谢作者的分享. 1.引言 闲鱼技术团队围绕IM这个技术范畴,已经分享了好几篇实践性总结文章,本 ...
- 记录小程序跳转h5,然后h5涉及下载文件的问题
小程序跳转h5中,可以在小程序增加一个页面使用webView方式嵌套三方小程序,不过需要配置白名单 由于小程序的限制,不能在嵌套的h5中进行文件下载 网上也没有很好的解决方法,解决方法是再跳到小程序带 ...