4 低级发现宏
概述
[low-level] (/manual/discovery/low_level_discovery)中使用了一种宏发现](LLD) 功能:
· {#MACRO}
它是一个在 LLD 规则中使用并返回实际值的宏文件系统名称、网络接口、SNMP OID 等。
这些宏可用于创建项目、触发器和图形原型。然后,当发现真正的文件系统时,网络接口等,这些宏被替换为实数值并且是创建真实项目、触发器和图表的基础。
这些宏也用于创建主机和主机组 prototypes在虚拟机 发现 中。
一些低级发现宏与 LLD “预打包”Zabbix 中的函数 - {#FSNAME}, {#FSTYPE}, {#IFNAME}, {#SNMPINDEX},{#SNMPVALUE}。然而,遵守这些名称不是强制性的,当创建一个自定义低级发现规则。然后您可以使用任何其他 LLD 宏名称和参考那个名字。
支持的位置
可以使用 LLD 宏:
- 在低级发现规则过滤器中
- 对于项目原型
- 姓名
- 关键参数
- 单元
- 更新间隔1
- 历史存储期1
- 趋势存储期1
- 项目值预处理步骤
- SNMP OID
- IPMI 传感器领域
- 计算项目公式
- SSH 脚本和 Telnet 脚本
- 数据库监控SQL查询
- JMX 项目端点字段
- 描述
- HTTP 代理 URL 字段
- HTTP 代理 HTTP 查询字段字段
- HTTP 代理请求正文字段
- HTTP 代理所需的状态代码字段
- HTTP 代理标头字段键和值
- HTTP 代理 HTTP 认证用户名字段
- HTTP 代理 HTTP 认证密码字段
- HTTP 代理 HTTP 代理字段
- HTTP 代理 HTTP SSL 证书文件字段
- HTTP 代理 HTTP SSL 密钥文件字段
- HTTP 代理 HTTP SSL 密钥密码字段
- HTTP 代理 HTTP 超时1 字段
- 标签
- 用于触发器原型
- 姓名
- 运营数据
- 表达式(仅在常量和函数参数中)
- 网址
- 描述
- 标签
- 对于图形原型
- 姓名
- 对于主机原型
- 姓名
- 可见名称
- 自定义接口字段:IP、DNS、端口、SNMP v1/v2 社区、 SNMP v3 上下文名称、SNMP v3 安全名称、SNMP v3 身份验证密码,SNMP v3 隐私密码
- 主机组原型名称
- 主机标签值
- 主机宏值
- (参见完整列表)
在所有这些地方,LLD 宏都可以在静态用户 macro上下文。
使用宏函数
低级发现宏支持宏功能(在低级发现规则过滤器),允许提取某个部分使用正则表达式的宏值。
例如,您可能想要提取客户名称和接口用于事件标记的以下 LLD 宏中的编号:
· {#IFALIAS}=customername_1
为此,可以将 regsub
宏函数与触发器原型的事件标签值字段:
请注意,未引用的项目中不允许使用逗号 key参数,所以必须引用包含宏函数的参数。反斜杠(\
) 字符应用于转义范围。例子:
net.if.in["{{#IFALIAS}.regsub(\"(.*)_([0-9]+)\", \1)}",bytes]
有关宏函数语法的更多信息,请参阅:宏函数
自 Zabbix 以来,低级发现宏支持宏功能4.0。
脚注
1 在标有 1 的字段中,单个宏必须填充整个字段。一个或多个字段中的多个宏不支持与文本混合。