搭建基于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监控平台的更多相关文章

  1. Centos8.X 搭建Grafana+Jmeter+Influxdb 性能实时监控平台

    前言 本篇文章引用了小菠萝测试笔记,大部分内容非原创,基于自身实操过程中,完善了部分. 本篇随笔是在Linux上搭建的,后面会补充在docker以及k8s上如何部署安装 工具介绍 工具 介绍 Jmet ...

  2. Centos7.X 搭建Grafana+Jmeter+Influxdb 性能实时监控平台(不使用docker)

    工具介绍 [centos7安装influxDB] Influxdata官网下载路径:https://portal.influxdata.com/downloads/ 1.直接执行以下命令安装 2.安装 ...

  3. 全网最详细!Centos7.X 搭建Grafana+Jmeter+Influxdb 性能实时监控平台

    背景 日常工作中,经常会用到Jmeter去压测,毕竟LR还要钱(@¥&*...),而最常用的接口压力测试,我们都是通过聚合报告去查看压测结果的,然鹅聚合报告的真的是丑到家了,作为程序猿这当然不 ...

  4. 搭建基于SornaQube的自动化安全代码检测平台

    一.背景和目的 近年来,随着新业务.新技术的快速发展,应用软件安全缺陷层出不穷.虽然一般情况下,开发者基本都会有单元测试.每日构建.功能测试等环节来保证应用的可用性.但在安全缺陷方面,缺乏安全意识.技 ...

  5. Grafana+Prometheus打造全方位立体监控系统

    前言 本文主要介绍如何使用Grafana和Prometheus以及node_exporter对Linux服务器性能进行监控.下面两张图分别是两台服务器监控信息: 服务器A 服务器B 概述 Promet ...

  6. 搭建grafana+telegraf+influxdb服务器性能监控平台

    最近在学习性能测试,了解到一套系统资源使用率低的监控环境,也就是grafana+telegraf+influxdb. InfluxDB是一款优秀的时间序列数据库,适合存储设备性能.日志.物联网传感器等 ...

  7. grafana + influxdb + telegraf , 构建性能监控平台

    1.安装平台 1).grafana , 访问各类数据源 , 自定义报表.显示图表等等 , 用于提供界面监控 , 默认端口为3000 , 默认登陆信息admin wget https://grafana ...

  8. 基于JT/T808协议的车辆监控平台架构方案

    技术支持QQ:78772895 1.接入网关应用采用mina/netty+spring架构,独立于其他应用,主要负责维护接入终端的tcp链接.上行以及下行消息的解码.编码.流量控制,黑白名单等安全控制 ...

  9. 基于kettle8的web端调度监控平台

    发布时间:2018-11-16   技术:spring+springmvc +beetlsql+quartz+kettle8   概述 Kettle调度监控平台(以下简称KS)是一个自主开发的java ...

  10. 基于grafana+prometheus构建Flink监控

    先上一个架构图 Flink App : 通过report 将数据发出去 Pushgateway :  Prometheus 生态中一个重要工具 Prometheus :  一套开源的系统监控报警框架 ...

随机推荐

  1. LinkedHashMap源码分析(基于JDK1.6)

    LinkedHashMap类似于HashMap,但是迭代遍历它时,取得"键值对"的顺序是插入次序,或者是最近最少使用(LRU)的次序.只比HashMap慢一点:而在迭代访问时反而更 ...

  2. .NET9 - Swagger平替Scalar详解(四)

    书接上回,上一章介绍了Swagger代替品Scalar,在使用中遇到不少问题,今天单独分享一下之前Swagger中常用的功能如何在Scalar中使用. 下面我们将围绕文档版本说明.接口分类.接口描述. ...

  3. k8s之常用命令

    Minikube # 启动集群服务 minikube start # 查看集群服务状态 minikube status# 登录集群minikube ssh # 关闭,暂停,恢复,删除集群服务 mini ...

  4. Docker之基础(一)

    接触Docker有很久一段时间, 但是没有好好总结一下, 借此公司项目全面容器化, 记录一下常用的Docker操作 概况: 本次容器化的项目包括PHP+Python项目,PHP是基于php-fpm的基 ...

  5. Educational Codeforces Round 151 (Rated for Div

    C. Strong Password 给定一个字符串\(s\),一个密码的长度\(m\),下界字符串\(l\)和上界字符串\(r\),上下界字符串长度均为\(m\),且字符只在0~9范围内,上界字符串 ...

  6. Python 学习记录(3)

    数据 主要是对Pandas相关的数据帧等做处理和一定的可视化 Pandas对数据帧各列的运算 import seaborn as sns import pandas as pd #从Seaborn 当 ...

  7. Flex 弹性布局备忘录

    概述 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性 这也是我目前用的最多的一种布局方案,相比Grid布局此种布局方案相对较简单, ...

  8. 【原创】ARM64 实时linux操作系xenomai4(EVL)构建安装简述

    目录 0 环境说明 1 内核构建 2 库编译 方式1 交叉编译 方式2 本地编译 3 测试 单元测试 hectic:EVL 上下文切换 latmus:latency测试 4 RK3588 xenoma ...

  9. 题解:P11007 『STA - R7』Odtlcsu

    有个很显然的结论,题目中的 $x$ 与 $y$ 奇偶性相同. 有个更简单的证明,奇数的平方为奇数,偶数的平方为偶数,所以 $x$ 与 $y$ 奇偶性相同. 思路就显而易见了,考虑构造一个长度为 $y$ ...

  10. 【Web前端】【开源分享】H5登陆界面 - 2021年12月30日

    下载地址 Gitee下载 后续更新关注本文评论区作者萌狼蓝天的回复