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

Zabbix中创建计算项获取VMware数据存储已用空间报错求助

Zabbix中创建计算项获取VMware数据存储已用空间报错求助

我来帮你分析下这个问题,你遇到的错误是因为Zabbix没有正确解析你引用的监控项键,导致把公式本身当成了字符串返回,而不是去获取对应项的数值来计算。下面是几个可能的问题点和解决方法:

  • 检查监控项引用格式是否正确
    Zabbix计算项里引用其他监控项时,必须使用{<主机名称>:<item key>[<参数>]}的完整格式,你现在的公式里缺少了主机名称部分,这会导致Zabbix无法识别这是一个监控项引用,直接把整个字符串当成了文本值。举个例子,如果你的VMware主机在Zabbix里的名称是VMware-Host-01,正确的公式应该是:

    {VMware-Host-01:vmware.hv.datastore.size[{$VMWARE.URL},{$VMWARE.HV.UUID},{#DATASTORE}]} - {VMware-Host-01:vmware.datastore.size[{$VMWARE.URL},{#DATASTORE},free]}
    
  • 验证宏的配置是否正确
    确认{$VMWARE.URL}、{$VMWARE.HV.UUID}这些宏在你的模板/主机上是否已经正确配置,有没有拼写错误(比如UUID的字符是否完整、URL是否包含正确的sdk路径)。宏如果无法正确解析,也会导致Zabbix无法找到对应的监控项。

  • 检查基础监控项的返回类型
    虽然你说这两个基础项已经正常工作,但还是要确认它们的返回值类型都是Numeric (float)。如果其中一个项的返回类型是字符串,计算时就会触发“字符串不适合数值类型”的错误。你可以在Zabbix的“最新数据”里查看这两个项的返回值和类型。

  • 确认数据存储参数的一致性
    注意两个监控项里的数据存储参数要完全匹配:第一个项里的{#DATASTORE}宏和第二个项里的参数(建议统一用{#DATASTORE}宏,避免手动输入出错)必须完全一致,包括大小写、空格和特殊字符。Zabbix对这些参数是区分大小写的,参数不匹配会导致无法获取到数值,最终公式返回字符串。

另外,你可以先单独查看这两个基础监控项的最新数据,确认它们能正常返回数值,再把正确的引用格式放到计算项里测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 12:28:10