最近想研究一下大模型占显存与内存的预估方法,还想测一下Redis
和Mysql
的性能对比,但是Windows
原生提供的性能监控工具实在是太难看了,而且也不好用。之前打工的时候有注意到一款名为Grafana
的仪表盘监控平台,所以试了一下,感觉不错。
本文给读者带来:在Windows
下使用Grafana
监控系统指标与GPU指标教程。
一共需要准备4个软件,分别是Grafana
、Prometheus
、windows_exporter
、nvidia_gpu_exporter
。
Grafana
就是一个开源的仪表板和可视化平台,用于监控和分析数据。它集成了非常多的数据源(也就是说他可以监控很多种东西的性能指标),常见的有MySQL
、Redis
、Prometheus
、ES
等等。
Prometheus
就是Grafana
的数据源之一,它规定了一定的Prometheus
格式,只要是按照它的格式产生的数据都可以采集到。
windows_exporter
与nvidia_gpu_exporter
就是一些大佬在Prometheus
生态下开发出来的脚本应用,前者用来采集Windows
的性能指标,后者用来采集GPU
的性能指标。
地址发布页:https://github.com/prometheus-community/windows_exporter/releases。
这里我们下载windows_exporter-0.25.1-amd64.exe
就好。msi文件是需要安装成为服务的,个人觉得我们也没必要时时刻刻采集性能数据,所以在需要的时候打开exe文件就行。
地址发布页:https://github.com/utkuozdemir/nvidia_gpu_exporter/releases。
这里我们下载nvidia_gpu_exporter_1.2.0_windows_x86_64.zip
。
地址发布页:https://prometheus.io/download/。
下载最新的稳定版prometheus-2.49.1.windows-amd64.zip
。
地址发布页:https://grafana.com/grafana/download。
因为不想安装,所以下载最新的稳定版压缩包grafana-enterprise-10.3.1.windows-amd64.zip
。解压即用。
安装步骤也是很简单的。
windows_exporter
与nvidia_gpu_exporter
都属于脚本程序,直接双击打开就可以运行了不需要安装。它们两个除了分别占用一个端口之外,占用的系统资源可以忽略不计。
windows_exporter
占用的端口是9182。
nvidia_gpu_exporter
占用的端口是9835。
所以当开启了这两个脚本程序之后,打开浏览器访问以下网址应该可以看到:
http://localhost:9182/
http://localhost:9835/
Prometheus
是开源的系统监控和警报工具,用于收集、存储和查询系统和服务的性能数据。
直接把上一步下载最新的稳定版prometheus-2.49.1.windows-amd64.zip
压缩包解压,放到你系统的任意一个位置都可以。
启动prometheus
之前,我们需要修改配置文件prometheus.yml
,把我们刚才启动的两个采集器Job
加入到配置文件中来:
scrape_configs:
# The job name is added as a label `job=` to any timeseries scraped from this config.
- job_name: "prometheus"
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ["localhost:9090"]
- job_name: "Window" #监控名称,监控window
static_configs:
- targets: ["localhost:9182"] #被监控系统的IP+端口(默认9182端口)
- job_name: "GPU" #监控名称,监控GPU
static_configs:
- targets: ["localhost:9835"] #被监控系统的IP+端口(默认9835端口)
随后双击prometheus.exe
启动。
访问http://ip:9090 ,(如:http://localhost:9090)出现如下界面即为prometheus安装成功、数据采集器验证成功 (PS: up为成功,down 为不成功。)
解压完成,进入bin
目录启动grafana-server.exe
打开浏览器访问 http://ip:3000,(如:http://localhost:3000) 用户名/密码 admin/admin
Grafana
配置Prometheus
数据源,在Home
- Connections
- AddNew
里面选择Prometheus
数据源。输入名称,访问url ,点击保存测试,验证是否成功。
Grafana选择监控仪表盘。仪表盘是可以自定义的,但是我们通常不会这么做,可以去他的官网里面找开源的仪表盘。找到一款心仪的仪表盘之后,我们只需要复制他的ID粘贴到我们的配置文件里面即可。
官方仪表盘库地址为:https://grafana.com/grafana/dashboards/
这里给大家推荐两个我暂时用的仪表盘ID,GPU的是14574,windows的是14694。效果分别如下:
由于每次我需要监控的时候,都要一下开启四个exe程序,而且这四个程序都会弹出一个DOS窗口还不能够关闭,鼠鼠感到压力很大。于是写了一个batch文件可以进行一键启动,代码如下:
@echo off
:: 设置编码 防止中文路径无法执行
chcp 65001
echo 启动windows_exporter
start "" /B "D:\Software\plgin_exporter\windows_exporter-0.25.1-amd64.exe" > nul 2>&1
echo 启动nvidia_gpu_exporter
start "" /B "D:\Software\plgin_exporter\nvidia_gpu_exporter.exe" > nul 2>&1
echo 启动Prometheus
cd /D "D:\Software\prometheus-2.49.1.windows-amd64\"
start "" /B "prometheus.exe" > nul 2>&1
echo 启动Grafana
cd /D "D:\Software\grafana-v10.3.1\bin\"
start "" /B "grafana-server.exe" > nul 2>&1
:: 等待一段时间确保Grafana已经启动
timeout /t 2 /nobreak
:: 打开浏览器访问Grafana
start "" "http://localhost:3000"
注意上面的代码写的是我电脑里面的地址,大家需要使用的话,记得改成自己的地址,然后把文件保存为.bat后缀,然后双击运行就可以。然后就可以快乐的跑模型,监控系统和GPU性能指标了。
代码里面/B
的意思是在后台执行应用程序;> nul 2>&1
的意思是程序输出重定向到一个空的文件里,这样他的输出就不会打印在DOS窗口了。