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数据源,如图所示

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

完!

相关推荐
vip45110 分钟前
Linux 经典面试八股文
linux
大霞上仙12 分钟前
Ubuntu系统电脑没有WiFi适配器
linux·运维·电脑
孤客网络科技工作室1 小时前
VMware 虚拟机使用教程及 Kali Linux 安装指南
linux·虚拟机·kali linux
颇有几分姿色2 小时前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
AndyFrank3 小时前
mac crontab 不能使用问题简记
linux·运维·macos
筱源源3 小时前
Kafka-linux环境部署
linux·kafka
算法与编程之美4 小时前
文件的写入与读取
linux·运维·服务器
xianwu5434 小时前
反向代理模块
linux·开发语言·网络·git
Amelio_Ming4 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh
Ven%5 小时前
centos查看硬盘资源使用情况命令大全
linux·运维·centos