[low-level] (/manual/discovery/low_level_discovery)中使用了一种宏发现](LLD) 功能:
· {#MACRO}
它是一个在 LLD 规则中使用并返回实际值的宏文件系统名称、网络接口、SNMP OID 等。
这些宏可用于创建监控项、触发器和图形原型。然后,当发现真正的文件系统时,网络接口等,这些宏被替换为实数值并且是创建真实监控项、触发器和图表的基础。
这些宏也用于创建主机和主机组 prototypes在虚拟机 发现 中。
一些低级别自动发现宏与 LLD “预打包”Zabbix 中的函数 - {#FSNAME}, {#FSTYPE}, {#IFNAME}, {#SNMPINDEX},{#SNMPVALUE}。然而,遵守这些名称不是强制性的,当创建一个自定义低级别自动发现规则。然后您可以使用任何其他 LLD 宏名称和参考那个名字。
可以使用 LLD 宏:
在所有这些地方,LLD 宏都可以在静态用户 macro上下文。
低级别自动发现宏支持宏功能(在低级别自动发现规则过滤器),允许提取某个部分使用正则表达式的宏值。
例如,您可能想要提取客户名称和接口用于事件标记的以下 LLD 宏中的编号:
· {#IFALIAS}=customername_1
为此,可以将 regsub
宏函数与触发器原型的事件标签值字段:
请注意,未引用的监控项中不允许使用逗号 key参数,所以必须引用包含宏函数的参数。反斜杠(\
) 字符应用于转义范围。例子:
有关宏函数语法的更多信息,请参阅:宏函数
自 Zabbix 以来,低级别自动发现宏支持宏功能4.0。
1 在标有 1 的字段中,单个宏必须填充整个字段。一个或多个字段中的多个宏不支持与文本混合。