You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

被监控的Proxmox宿主机未在Zabbix仪表盘‘Top hosts by CPU utilization’组件中显示的问题求助

被监控的Proxmox宿主机未在Zabbix仪表盘‘Top hosts by CPU utilization’组件中显示的问题求助

哥们,我之前踩过几乎一模一样的坑,大概率是模板监控项和仪表盘组件默认依赖的指标不匹配导致的,给你一步步捋排查和解决办法:

先搞懂核心原因

Zabbix自带的「Top hosts by CPU utilization」组件,默认是抓取system.cpu.util[,idle]这个监控项的数据(通过100减去空闲率来计算CPU使用率),而你用的「Proxmox VE by HTTP」模板,用的是PVE专属的CPU监控项(比如pve.node.cpu.util这类键值),组件找不到它要的指标,自然就不显示这些主机了。

第一步:确认你的PVE主机有没有组件需要的监控项

  1. 进入Zabbix后台,点击左侧菜单的【配置】→【主机】
  2. 找到你的PVE主机,点击它的【监控项】标签
  3. 搜索「cpu」关键词,看看有没有system.cpu.util开头的监控项——如果没有,就说明这个模板没带标准Linux CPU监控项,这就是问题根源。

两种解决办法任你选

办法一:给PVE主机加标准Linux模板(最省心)

因为Proxmox本质是基于Debian的Linux系统,直接给主机添加「Linux by Zabbix agent」模板就行:

  • 回到主机的【模板】标签,点击【链接新模板】
  • 搜索「Linux by Zabbix agent」并添加,确保主机上的Zabbix Agent已经正常运行、端口(默认10050)能通
  • 等个5-10分钟,让Zabbix采集到新的CPU数据,再去看仪表盘组件,应该就能看到这些PVE主机了。

办法二:修改仪表盘组件的数据源(适配PVE模板)

如果你不想加额外模板,可以直接调整组件的指标配置:

  1. 打开仪表盘,找到「Top hosts by CPU utilization」组件,点击右上角的【编辑】按钮
  2. 切换到【数据源】标签,找到【指标】配置项
  3. 把原来的system.cpu.util[,idle]替换成你PVE主机上的CPU使用率监控项键值(比如pve.node.cpu.util,具体以你监控项里的实际键值为准)
  4. 注意:如果PVE的监控项返回的是直接的CPU使用率(不是空闲率),还要把组件里的计算逻辑调整一下——原来的逻辑是100 - last(0),改成直接用last(0)就行。

额外排查小细节

  • 确认你的PVE主机状态是「已启用」,监控项也没有被禁用
  • 去Zabbix服务器的日志(默认路径/var/log/zabbix/zabbix_server.log)里搜搜主机名,看看有没有数据采集失败的报错(比如HTTP认证问题、Agent连接失败)
  • 别着急刷新,修改配置后至少等几分钟,给数据采集和计算留时间。

备注:内容来源于stack exchange,提问作者mr.zog

火山引擎 最新活动