在low-level discovery(LLD)功能中使用了一类宏:
这是一种用于LLD规则的宏,可返回file系统名称、网络接口、SNMP OID等的实际值。
这些宏可用于创建监控项、触发器和图形原型。当发现实际的file系统、网络接口等时,这些宏会被替换为实际值,并成为创建真实监控项、触发器和图形的基础。
这些宏还用于在虚拟机主机原型中创建主机和主机组原型。
Zabbix中部分低级发现宏已与LLD功能"预打包"——{#FSNAME}、{#FSTYPE}、{#IFNAME}、{#SNMPINDEX}、{#SNMPVALUE}。但在创建custom低级发现规则时,并不强制要求使用这些名称。您可以使用任何其他LLD宏名称并引用该名称。
LLD宏可用于:
在低级发现规则过滤器中
用于监控项原型的
用于触发器原型的
用于图形原型的
用于主机原型的
在所有这些位置中,除了低级发现规则过滤器外,LLD宏都可以在静态用户macro context内部使用。
宏函数支持低级发现宏(除低级发现规则过滤器外),允许使用正则表达式提取宏值的特定部分。
例如,出于事件标记目的,您可能希望从以下LLD宏中提取客户名称和接口编号:
为此,可以在触发器原型的事件标记值字段中使用带有宏的regsub
宏函数:
请注意,未加引号的监控项键参数中不允许使用逗号,因此包含宏函数的参数必须加引号。反斜杠(\
)字符应用于转义参数内的双引号。示例:
有关宏函数语法的更多信息,请参阅:Macro functions
自Zabbix 4.0起,宏函数支持在低级发现宏中使用。
1 在标记为1的字段中 单个宏必须填满整个字段。不支持在一个字段中使用多个宏或将宏与文本混合使用。