zabbix如何监控Nvidia显卡的各项指标?

如何实现zabbix监控windows机器的N卡GPU指标呢?
Nvidia卡在安装驱动程序的时候,已经自带安装了一个命令行工具来获取显卡的各个性能指标值

在windows机器上,我们可以把该路径加入环境变量中,在cmd命令行中输入nvidia-smi.exe,即可看到当前显卡的运行状态

当然,我们还可以根据该工具,返回我们特定想要的某些性能指标,比如:

第1张显卡已经使用的显存大小,单位是MiB

-i 0 表示第一张显卡
--query-gpu=memory.used 表示查询显存使用值
--format=csv,noheader,nounits 表示csv方式格式化输出,去掉首行,去掉单位

当然,我们还可以获取其他的值,比如显存总大小

如何将这些值反馈给zabbix并进行实时监控及曲线绘图呢
1、编写获取性能指标的bat脚本,脚本内容详见下图

记住红框1中的脚本名称及路径
根据自己需求,修改红框2中需要监控的GPU性能指标项
【如果不知道有哪些性能指标监控项,可以在cmd命令行中输入 nvidia-smi.exe --help-query-gpu 来进行查看,也可以查看官方自带的pdf介绍文档】

2、修改zabbix客户端配置,添加下图中内容


其中红框中 UserParameter=[第一项],[第二项]
【第一项】为键名,之后在zabbix平台中添加【监控项】会使用该值
【第二项】为键值,zabbix客户端会去运行该路径下的脚本,将返回的结果传给服务端,务必保证路径、bat脚本名与上一步创建的脚本一致

修改完配置后,重启zabbix-agent服务

3、再zabbix监控平台添加监控项
这一步和之前文章介绍的添加监控项步骤类似
如果是直接使用获取的监控数值,则新建类型为【zabbix客户端】的监控项,如下图

如果是要使用获取的监控数值,再进行计算,比如:计算GPU使用率,则新建类型为【可计算的】的监控项,如下图

4、最后,就是根据监控项,添加仪表盘,生成对应的图表曲线

posted @ 2020-09-03 15:08  Hei蛋炒饭  阅读(3338)  评论(0编辑  收藏  举报