我使用 Zabbix (6.4.10) 和 Proxmox 插件来监控 proxmox 服务器(和 LXC 容器)。在LXC容器的发现规则中,有两个关于RAM的项目原型:
proxmox.lxc.maxmem[{#LXC.ID}]
:内存总量(以字节为单位)proxmox.lxc.mem[{#LXC.ID}]
:内存使用量(以字节为单位)
我想要实现的是定义一个计算项原型以获取已用 RAM 的百分比(我想在 Grafana 仪表板中显示)。
我尝试使用这个公式:
last(//proxmox.lxc.mem[{#LXC.ID}])/last(//proxmox.lxc.memtotal[{#LXC.ID}])
但是当我测试它时收到此错误消息:
Cannot evaluate function: item "/proxmox/proxmox.lxc.mem[{#LXC.ID}]" does not exist at "last(//proxmox.lxc.mem[{#LXC.ID}])/last(//proxmox.lxc.memtotal[{#LXC.ID}])".
我不明白为什么。该文档显示了一些计算项目的示例,但不在发现规则之内。也许我的语法不好,但我没有找到相关的例子来帮助我。
Proxmox LXC discovery 中定义的项目原型:
我尝试定义一个计算项:
我的回答假设您正在使用此模板。
第一点:项目
proxmox.lxc.memtotal[{#LXC.ID}]
不存在。这个模板非常适合
ProxMox VE
主机监控。然而,这个模板相当“复杂”,并且被分成几个子部分/主机。从您提供的屏幕截图来看,您似乎在
LXC discovery
主机中。然而,这两个项目proxmox.lxc.mem[{#LXC.ID}]
都proxmox.lxc.maxmem[{#LXC.ID}]
属于Proxmox VE by HTTP
主机。您可以检查:通过做这个 :
Zabbix 引擎假设这些项目位于
LXC discovery
主机中,但没有找到它们。它翻译如下:
它不能那样工作。
结论
你需要做类似的事情:
我
100*
在开头添加了它,因为它是百分比。