默认情况下,zabbix能够检查机器上的进程总数,如果超过300则触发错误。
显然,这对大型机器来说并不适用。 我有32个代码的服务器,显然300个进程将是没有什么这台机器。
如果每个CPU的进程数大于300,我想改变这个规则来触发警告。
这个触发器在linux模板里面,名字为“{HOST.NAME}上的进程太多”,默认值是"{Template OS Linux:proc.num[].avg(5m)}>300"
我尝试写一些像{Template OS Linux:proc.num[].avg(5m)}/{Template OS Linux:system.cpu.num}>300但似乎zabbix(2.2)不喜欢这个触发器expression式。
Incorrect trigger expression. Check expression part starting from "/{Template OS Linux:system.cpu.num}>300".
重新configuration此检查的正确方法是什么?
触发器expression式中项目引用的正确语法是:
{host:item.func()}
在你的情况下, func()部分在system.cpu.num之后缺less,所以正确的expression式是:
{Template OS Linux:proc.num[].avg(5m)}/{Template OS Linux:system.cpu.num.last()}>300
请注意,如果您不熟悉手动编辑触发器expression式,则可以使用expression式右侧的“添加”button来创build一个简单的向导:
