首页 > 其他分享 >搭建基于Grafana+Prometheus+Nvidia_gpu_exploter的GPU监控平台

搭建基于Grafana+Prometheus+Nvidia_gpu_exploter的GPU监控平台

时间:2024-09-23 10:51:43浏览次数:8  
标签:Nvidia prometheus exploter Prometheus gpu GPU Grafana

搭建基于Grafana+Prometheus+Nvidia_gpu_exploter的英伟达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
有多种安装方式,这里选择下载压缩包
image

# 进入创建的文件夹
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端口,出现该页面,说明成功
image

2. 安装和配置Prometheus

Prometheus官网下载地址:https://prometheus.io/download/#/prometheus
image

# 进入创建的文件夹
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端口,出现该页面,说明安装成功
image

将Nvidia_gpu_exploter输出配置到Prometheus中

vim prometheus.yml
  • job_name: 任意字符串,可以理解为一个标识符
  • targets: node_exporter服务列表(ip + 端口号),可以多个
    image

重启Prometheus服务

# 查找 Prometheus 进程ID
ps aux | grep prometheus

# 强制停止Prometheus进程
kill -9 [PID]

# 重新启动Prometheus服务
nohup ./prometheus --config.file=prometheus.yml &

我们浏览器再次访问9090端口,并如下图点击目录,该页面中出现我们配置好的nvidia_gpu_exploter,说明配置成功
image

3. 安装和配置Grafana

Grafana 官网下载地址:https://grafana.com/grafana/download
image

# 进入创建的文件夹
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

image

# 启动服务
./bin/grafana-server &

访问页面,成功显示。用户名 & 密码 均为 admin
image

4. 创建仪表板和分析视图

I. 添加数据源
点击 Configuration -> Data sources 进入数据源界面,再点击 Add data source 进入新增数据源界面。
image

点击 Prometheus,创建Prometheus数据源。

image

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

点击 Save & test
image

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

image

仪表盘模板大全:https://grafana.com/grafana/dashboards/

可根据关键字查询想要的一些模板

image

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

image

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

image

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

image

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

image

三、平台应用与优势

  • 应用场景
    • 实时监控:通过Grafana的仪表板,可以实时监控应用的性能指标,及时发现潜在的性能问题。
    • 历史数据分析:利用Prometheus存储的历史数据,可以进行更深入的性能分析,找出性能瓶颈和趋势。
    • 性能调优:基于监控和分析结果,对应用进行性能调优,提升用户体验。
  • 优势
    • 开源免费:Nvidia_gpu_exploter、Prometheus和Grafana都是开源软件,可以免费使用,降低了成本。
    • 灵活可扩展:平台支持自定义测试脚本和查询语句,可以根据实际需求进行灵活配置和扩展。
    • 可视化效果好:Grafana提供了丰富的图表和可视化选项,能够直观地展示性能测试数据。

注:安装方法不唯一,且各个教程安装版本也不相同

标签:Nvidia,prometheus,exploter,Prometheus,gpu,GPU,Grafana
From: https://www.cnblogs.com/test-gang/p/18426618

相关文章

  • 手把手教你用linux安装Gromacs(2024 GPU-CUDA)
    文章目录1.Gromacs介绍2.Gromacs安装一、基础软件1.gcc下载安装2.g++下载安装3.python4.Cmake二、显卡驱动和CUDA安装1.显卡驱动2.CUDA安装3.Gromacs-2024GPU-CUDA安装可能遇到的问题1.错误一原因:解决方法:2.错误二原因:解决方法:3.错误三4.错误四结束语1.G......
  • GPU与国产芯片异构通信方案,异构万卡集群 初步调研
    视频分享在这:3.1异构万卡集群,GPU与国产计算卡芯片异构通信_哔哩哔哩_bilibili国内已经有三家,实现了异构集群,GPU与国产芯片异构通信方案,初步调用结果如下。异构集群的挑战异构芯片间的混训主要面临两大挑战,一是异构卡通信库差异,导致异构卡之间通信难,二是异构卡之间性能差异......
  • ​​Prometheus监控之服务发现
    1.Prometheus服务发现1.1为什么需要服务发现Prometheus采⽤Pull模型来抓取⽬标主机的指标数据,这就意味着Prometheus必须事先知道每个要监控的⽬标的端点地址。然后才能从对应的Exporter或Instrumentation进⾏数据抓取。对于规模较⼩,且监控的⽬标不会频繁的发⽣变动,直接使⽤但......
  • Prometheus 监控系统
    目录1.Prometheus概述(1)TSDB作为Prometheus的存储引擎完美契合了监控数据的应用场景(2)Prometheus的特点(3)Prometheus的主要组件(1)prometheusserver(2)exporter(3)alertmanager(4)pushgateway(5)grafana(4)Prometheus的局限性2.Zabbix和Prometheus的区别?如何选择?(1)Zabbix(2)Prometheus3.Prome......
  • 为大模型提供服务需要多少 GPU 显存?
    在几乎所有的LLM面试中,有一个问题总是会被提及:“**为大模型提供服务需要多少GPU显存?**”这不仅仅是一个随机的问题——它是一个关键指标,反映了你对这些强大模型在生产环境中部署和可扩展性的理解程度。当你使用GPT、LLaMA或任何其他LLM时,了解如何估算所需的GPU内存是至......
  • grafana Loki 日志采集
    lokiLoki是受Prometheus启发的水平可扩展,高度可用的多租户日志聚合系统。它的设计具有很高的成本效益,并且易于操作。它不索引日志的内容,而是为每个日志流设置一组标签。日志对比ELKstack和Graylog,ELK目前很多公司都在使用,是一种很不错的分布式日志解决方案,但是需要的组件多......
  • prometheus学习笔记之alertmanager告警配置
    一、安装alertmanager项目地址:https://github.com/prometheus/alertmanager帮助文档:https://prometheus.io/docs/alerting/latest/alertmanager/配置文档:https://prometheus.io/docs/alerting/latest/configuration/wgethttps://github.com/prometheus/alertmanager/release......
  • nginx代理grafana
    nginx代理grafana背景我自己nginx不怎么会,然后我的生产环境已经不允许我使用【/】这个根路径了。我只能为其加上一个路径来解析。网络拓扑示意图如图所示,我想在运维电脑上请求grafanaweb。但是这中间夹了几层,目前已知防火墙是放通了负载均衡的80端口到运维电脑上,nginx和负载......
  • 基于Prometheus和Grafana的现代服务器监控体系构建
    引言随着云计算和微服务架构的迅速发展,服务器监控已成为保障系统稳定性和性能的重要手段。Prometheus和Grafana作为两个非常受欢迎的开源项目,为构建现代监控体系提供了强有力的支持。本文将详细探讨如何使用Prometheus和Grafana构建现代服务器监控体系,并结合实际案例进行技术......
  • 个人GPU云服务器是什么
    个人GPU云服务器是什么?简而言之,它是一种基于云计算平台的GPU服务器资源,为个人用户或小型团队提供,使用户能够通过互联网访问并利用这些资源执行高性能计算任务。这种服务背后的技术支撑,得益于云服务提供商的虚拟化技术。他们通过这一技术在数据中心部署和提供GPU云服务器,让用......