GPU服务器的性能实时监控(由nvidia_gpu_exploter+prometheus+grafana实现)

先展示最终效果:

要实现上述监控页面,必须安装并配置nvidia_gpu_exploter、prometheus、grafana这三个软件,具体的安装配置流程如下:

(我想通过网页实时展示服务器上正在运行的gpu进程以及使用的显存占比,但是这套配置其最终效果只显示内存使用占比、显存使用占比,gpu实时利用率等等,无法实现gpu进程和其占比的实时展示)

一、nvidia_gpu_exploter的安装配置

nvidia_gpu_exploter用于获取nvidia-smi的输出信息,可以将其看作一个抓手,定时(5s/10s)抓取一次nvidia-smi的输出信息。

  1. nvidia_gpu_exploter的安装

    ubuntu20.04可使用以下命令一键傻瓜安装:

    sudo dpkg -i nvidia-gpu-exporter_1.1.0_linux_amd64.deb

    或使用二进制文件安装:

bash 复制代码
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 -xvzf nvidia_gpu_exporter_${VERSION}_linux_x86_64.tar.gz
mv nvidia_gpu_exporter /usr/bin
nvidia_gpu_exporter --help
 
  1. nvidia_gpu_exploter的配置

    一键式傻瓜安装无需额外就能启用nvidia_gpu_exploter.service

    systemctl start nvidia_gpu_exporter.service

    systemctl status nvidia_gpu_exporter.service

  1. 之后在局域网内部任意一台电脑中输入服务器IP:9835 即可访问服务页面

出现上述内容,说明nvidia_gpu_exporter.service成功运行

nvidia_gpu_exporter项目的github主页: utkuozdemir/nvidia_gpu_exporter: Nvidia GPU exporter for prometheus using nvidia-smi binary (github.com)

二、prometheus的安装配置

prometheus用于将nvidia_gpu_exporter抓取到的数据格式化为grafana可使用的标准数据。

  1. prometheus的安装

    sudo apt install prometheus

  2. prometheus的配置

    进入/etc/prometheus目录,修改prometheus.yml,设置prometheus的数据源(设置为nvidia_gpu_exporter),如下图所示:

    然后开启prometheus服务:sudo systemctl start prometheus.service

  3. 之后在局域网内部任意一台电脑中输入服务器IP:9090 即可访问prometheus服务页面

  4. Targets 下出现nvidia_gpu_exporter的数据源,则证明prometheus服务配置成功。

三、grafana的安装配置

grafana软件用于数据的可视化展示,Grafana 支持的数据源有

  • Prometheus 本文中的例子,你没听过也没关系不影响阅读,把它想象成带时间戳的 MySQL 就好
  • Graphite
  • OpenTSDB
  • InfluxDB
  • MySQL/PostgreSQL
  • Microsoft SQL Server
  • 等等
  1. grafana的安装

    下载deb文件:wget https://dl.grafana.com/enterprise/release/grafana-enterprise_10.4.0_amd64.deb

    解压安装:sudo dpkg -i grafana-enterprise_10.4.0_amd64.deb

  2. 启动grafana.service服务: sudo systemctl start grafana-server.service

  3. 之后在局域网内部任意一台电脑中输入服务器IP:3000 即可访问grafana服务页面。(首次登录用户名和密码都是admin)

  4. 登录成功后配置grafana的仪表盘:

    1. 第一步:创建一个grafana data connection:

      (1). 选择数据格式为prometheus.

      (2). 添加prometheus数据源地址,如图所示: prometheus服务地址中,端口号要和你在prometheus.yml中配置的一致,由于我没有修改prometheus服务的端口,所以仍使用默认端口9090

    2. 第二步:创建仪表盘

      (1) 加载你想要的仪表盘样式,我选择的是nvidia_gpu_exploter官方发布的仪表盘,编号为:14574

    3. 第三步,为你的仪表盘选择一个grafana data connection数据源,如图所示

最终,通过以下操作得到服务器状态的实时展示,如图所示:

完!

相关推荐
7yewh3 分钟前
嵌入式Linux QT+OpenCV基于人脸识别的考勤系统 项目
linux·开发语言·arm开发·驱动开发·qt·opencv·嵌入式linux
小张认为的测试7 分钟前
Linux性能监控命令_nmon 安装与使用以及生成分析Excel图表
linux·服务器·测试工具·自动化·php·excel·压力测试
打鱼又晒网15 分钟前
linux网络套接字 | 深度解析守护进程 | 实现tcp服务守护进程化
linux·网络协议·计算机网络·tcp
良许Linux29 分钟前
0.96寸OLED显示屏详解
linux·服务器·后端·互联网
蜜獾云40 分钟前
docker 安装雷池WAF防火墙 守护Web服务器
linux·运维·服务器·网络·网络安全·docker·容器
小屁不止是运维41 分钟前
麒麟操作系统服务架构保姆级教程(五)NGINX中间件详解
linux·运维·服务器·nginx·中间件·架构
bitcsljl1 小时前
Linux 命令行快捷键
linux·运维·服务器
ac.char1 小时前
在 Ubuntu 下使用 Tauri 打包 EXE 应用
linux·运维·ubuntu
Cachel wood1 小时前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
Youkiup1 小时前
【linux 常用命令】
linux·运维·服务器