You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Zabbix 6.0中监控Windows 10主机的GPU相关指标

如何在Zabbix 6.0中监控Windows 10主机的GPU相关指标

很高兴帮你解决这个问题!在Zabbix 6.0里监控Windows 10的GPU指标,主要分为配置数据源、Agent自定义参数、Zabbix Web端配置这几个步骤,下面我分细节给你讲清楚:

一、先确认基础环境与GPU数据源准备

  • 首先确保Zabbix Agent已经在Windows 10上正常运行,不管是主动模式(Active)还是被动模式(Passive),要保证Agent能和Zabbix Server正常通信。
  • 根据你的GPU品牌准备对应的监控工具:
    • NVIDIA GPU:确保已经安装了官方驱动,打开命令提示符(CMD)输入"C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe",如果能正常输出GPU信息,说明工具可用。
    • AMD GPU:可以使用AMD官方的amd-smi工具(需安装AMD Radeon Software及配套管理组件),或者直接用Windows自带的性能计数器。
    • 通用方案:Windows自带的性能监视器(Performance Monitor)里有现成的GPU相关计数器,比如GPU Engine、GPU Memory、GPU Temperature等类别,可以先打开性能监视器确认这些指标是否存在。

二、通过UserParameter调用GPU专属工具采集指标(以NVIDIA为例)

这种方式适合获取更精准的GPU细节指标,步骤如下:

  1. 找到Zabbix Agent的配置文件,默认路径是C:\Program Files\Zabbix Agent\zabbix_agentd.conf,用记事本或专业编辑器打开。
  2. 在文件末尾添加自定义的UserParameter,对应不同的GPU指标:
    # 获取GPU整体使用率(百分比)
    UserParameter=gpu.util, "C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe" --query-gpu=utilization.gpu --format=csv,noheader,nounits | findstr /v "^$"
    # 获取GPU核心温度(摄氏度)
    UserParameter=gpu.temp, "C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe" --query-gpu=temperature.gpu --format=csv,noheader,nounits | findstr /v "^$"
    # 获取GPU显存使用率(百分比)
    UserParameter=gpu.memory.util, "C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe" --query-gpu=utilization.memory --format=csv,noheader,nounits | findstr /v "^$"
    # 获取GPU显存已用容量(MB)
    UserParameter=gpu.memory.used, "C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe" --query-gpu=memory.used --format=csv,noheader,nounits | findstr /v "^$"
    

    如果有多块GPU,可以在命令里添加--id=0(0为GPU编号)来指定监控某一块,比如--id=0 --query-gpu=utilization.gpu,然后创建多个UserParameter对应不同GPU。

  3. 保存配置文件后,重启Zabbix Agent服务:打开服务面板,找到Zabbix Agent,右键选择重启。

三、利用Windows性能计数器采集通用GPU指标

如果不想用第三方工具,也可以直接通过Zabbix监控Windows性能计数器:

  1. 登录Zabbix Web界面,找到你的Windows主机,进入配置→主机→监控项→创建监控项。
  2. 配置监控项的关键参数:
    • 类型:选择Zabbix agent或Zabbix agent (active)(根据你的Agent模式)
    • 键值:格式为perf_counter["\计数器路径","实例名称"],比如:
      • 监控GPU使用率:perf_counter["\GPU Engine\Utilization Percentage","GPU 0"]
      • 监控NVIDIA GPU温度:perf_counter["\NVIDIA GPU\GPU Temperature","GPU 0"]
    • 信息类型:选择数值(浮点型)或数值(整型),根据指标类型调整
  3. 点击添加完成监控项创建,重复步骤添加其他GPU指标。

四、在Zabbix Web端配置监控项、触发器与可视化

  1. 验证监控项:添加完监控项后,等待几分钟,进入监测→最新数据,筛选对应的主机和指标,确认是否能正常采集到数值。
  2. 创建触发器:比如设置GPU温度过高的告警,进入配置→主机→触发器→创建触发器,表达式可以写:
    {你的Windows主机名:gpu.temp.last()}>80
    
    意思是当GPU温度超过80摄氏度时触发告警,你可以根据自己的需求调整阈值。
  3. 创建可视化图形:进入配置→主机→图形→创建图形,把GPU使用率、温度、显存等指标添加进去,这样就能直观查看GPU的运行趋势了。

五、常见问题与验证方法

  • 如果用UserParameter采集不到数据,先手动在Windows命令行执行对应的命令,看是否能返回正确数值;同时确保Zabbix Agent的运行账户有足够权限,可以尝试用管理员账户运行Agent。
  • 用Zabbix Server的zabbix_get工具测试(被动模式适用):在Zabbix Server的命令行输入zabbix_get -s 你的Windows主机IP -k gpu.temp,如果能返回温度数值,说明Agent配置正常。
  • 对于AMD GPU,把nvidia-smi替换成amd-smi即可,命令格式类似,比如amd-smi --showtemp来获取温度,根据输出格式调整UserParameter的过滤规则。

备注:内容来源于stack exchange,提问作者biplab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 12:58:10