1 支持的宏

概述

本页包含Zabbix内置支持宏的完整列表,按应用领域分组。

要查看特定位置支持的所有宏,请将位置名称(例如,“地图URL”)粘贴到浏览器的搜索框中(按CTRL+F可访问),然后搜索下一个。

若要自定义宏值(例如,缩短或提取特定的子字符串),可以使用 宏函数

动作

支持内容 说明
{ACTION.ID} → 基于触发器的通知和命令
→ 问题更新的通知和命令
→ 基于服务的通知和命令
→ 服务更新的通知和命令
→ 自动发现的通知和命令
→ 自动注册的通知和命令
→ 内部通知
触发动作的数字ID。
{ACTION.NAME} → 基于触发器的通知和命令
→ 问题更新的通知和命令
→ 基于服务的通知和命令
→ 服务更新的通知和命令
→ 自动发现的通知和命令
→ 自动注册的通知和命令
→ 内部通知
触发动作的名字。
{ALERT.MESSAGE} → 警报脚本参数
→ Webhook参数
'来自动作配置的“默认消息”值。
{ALERT.SENDTO} → 警报脚本参数
→ Webhook参数
'用户媒介配置中的“发送到”值。
{ALERT.SUBJECT} → 警报脚本参数
→ Webhook参数
来自动作配置的“默认主题”值。
{ESC.HISTORY} →基于触发器的通知和命令
→ 问题更新的通知和命令
→ 基于服务的通知和命令
→ 服务更新的通知和命令
→ 内部通知
升级历史记录。以前发送的消息的日志。
显示以前发送的通知、发送通知的升级步骤及其状态(已发送、正在进行或失败)。

日期和时间

支持于 描述
{DATE} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于服务的通知和命令
→ 服务更新通知和命令
→ 发现通知和命令
→ 自动注册通知和命令
→ 内部通知
→ 手动事件操作 脚本 命令
当前日期,格式为 yyyy.mm.dd.
{TIME} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于服务的通知和命令
→ 服务更新通知和命令
→ 发现通知和命令
→ 自动注册通知和命令
→ 内部通知
→ 触发器事件名称
→ 手动事件操作 脚本 命令
→ 定期报告的主题/消息字段
当前时间,格式为 hh:mm:ss.

发现

Macro Supported in Description
{DISCOVERY.DEVICE.IPADDRESS} → 发现通知和命令 被发现的设备的IP地址。
始终可用,不依赖于添加的主机。
{DISCOVERY.DEVICE.DNS} →发现通知和命令 被发现的设备的DNS名称。
始终可用,不依赖于添加的主机。
{DISCOVERY.DEVICE.STATUS} → 发现通知和命令 被发现设备的状态:可能是UP或者DOWN。
{DISCOVERY.DEVICE.UPTIME} → 发现通知和命令 特定设备最近一次被监控到状态改变的时间,精确到秒。
例如:1h 29m 01s。
对于状态为DOWN的设备,这是其停机时间。
{DISCOVERY.RULE.NAME} → 发现通知和命令 用于发现设备或服务是否在线的自动发现规则的名称。
{DISCOVERY.SERVICE.NAME} → 发现通知和命令 自动发现服务的名称。
例如:HTTP。
{DISCOVERY.SERVICE.PORT} → 发现通知和命令 自动发现服务的端口。
例如:80。
{DISCOVERY.SERVICE.STATUS} → 发现通知和命令 自动发现服务状态:可能是UP或者DOWN。
{DISCOVERY.SERVICE.UPTIME} → 发现通知和命令 **特定服务最近一次被监控到状态改变的时间,精确到秒。
例如:1h 29m 01s。
对于状态为DOWN的设备,这是其停机时间。*

事件

支持于 描述
{EVENT.ACK.STATUS} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
事件的确认状态 (是/否)
{EVENT.AGE} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于服务的通知和命令
→ 服务更新通知和命令
→ 服务恢复通知和命令
→ 发现通知和命令
→ 自注册通知和命令
→ 内部通知
→ 手动事件操作 脚本 命令
触发动作的事件的年龄,精确到秒。
在升级消息中很有用。
{EVENT.DATE} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于服务的通知和命令
→ 服务更新通知和命令
→ 服务恢复通知和命令
→ 发现通知和命令
→ 自注册通知和命令
→ 内部通知
→ 手动事件操作 脚本 命令
触发动作的事件的日期
例如:2025.04.14。
{EVENT.DURATION} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于服务的通知和命令
→ 服务更新通知和命令
→ 服务恢复通知和命令
→ 内部通知
→ 手动事件操作 脚本 命令
事件的持续时间 (问题和恢复事件之间的时间差),精确到秒。
在问题恢复消息中很有用。
{EVENT.ID} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于服务的通知和命令
→ 服务更新通知和命令
→ 服务恢复通知和命令
→ 发现通知和命令
→ 自注册通知和命令
→ 内部通知
→ 触发器URLs
→ 手动事件操作 脚本 命令,确认文本
→ 手动事件/主机操作URLs,确认文本
触发动作的事件的数字ID
{EVENT.NAME} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于服务的通知和命令
→ 服务更新通知和命令
→ 服务恢复通知和命令
→ 内部通知
→ 手动事件操作 脚本 命令,确认文本
→ 手动事件/主机操作URLs,确认文本
触发动作的问题事件的名称
{EVENT.NSEVERITY} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于服务的通知和命令
→ 服务更新通知和命令
→ 服务恢复通知和命令
→ 手动事件操作 脚本 命令,确认文本
→ 手动事件/主机操作URLs,确认文本
事件严重性的数值。可能的值:0 - 未分类,1 - 信息,2 - 警告,3 - 平均,4 - 高,5 - 灾难。
{EVENT.OBJECT} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于服务的通知和命令
→ 服务更新通知和命令
→ 服务恢复通知和命令
→ 发现通知和命令
→ 自注册通知和命令
→ 内部通知
→ 手动事件操作 脚本 命令
事件对象的数值。可能的值:0 - 触发器,1 - 发现的主机,2 - 发现的服务,3 - 自注册,4 - 监控项,5 - 低级发现规则。
{EVENT.OPDATA} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
问题的底层触发器的操作数据
{EVENT.RECOVERY.DATE} → 问题 恢复通知 和命令
→ 问题更新

原因和症状事件

{EVENT.CAUSE.*} 宏在症状事件的上下文中使用,例如,在通知中;它们返回关于原因事件的信息。

{EVENT.SYMPTOMS} 宏在原因事件的上下文中使用,返回关于症状事件的信息。

支持在 描述
{EVENT.CAUSE.ACK.STATUS} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
原因事件的确认状态(是/否)
{EVENT.CAUSE.AGE} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
原因事件的年龄,精确到秒。
在升级消息中很有用。
{EVENT.CAUSE.DATE} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
原因事件的日期
{EVENT.CAUSE.DURATION} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
原因事件的持续时间(问题和恢复事件之间的时间差),精确到秒。
在问题恢复消息中很有用。
{EVENT.CAUSE.ID} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
原因事件的数字ID
{EVENT.CAUSE.NAME} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
原因问题事件的名称
{EVENT.CAUSE.NSEVERITY} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
原因事件严重性的数值
可能的值:0 - 未分类,1 - 信息,2 - 警告,3 - 平均,4 - 高,5 - 灾难。
{EVENT.CAUSE.OBJECT} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
原因事件对象的数值
可能的值:0 - 触发器,1 - 发现的主机,2 - 发现的服务,3 - 自动注册,4 - 项目,5 - 低级发现规则。
{EVENT.CAUSE.OPDATA} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
原因问题的底层触发器的操作数据
{EVENT.CAUSE.SEVERITY} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
原因事件严重性的名称
{EVENT.CAUSE.SOURCE} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
原因事件来源的数值
可能的值:0 - 触发器,1 - 发现,2 - 自动注册,3 - 内部。
{EVENT.CAUSE.STATUS} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
原因事件的口头值
{EVENT.CAUSE.TAGS} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
原因事件标签的逗号分隔列表
如果不存在标签,则扩展为空字符串。
{EVENT.CAUSE.TAGSJSON} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
包含原因事件标签 对象 的JSON数组
如果不存在标签,则扩展为空数组。
{EVENT.CAUSE.TAGS.<tag name>} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
通过标签名称引用的原因事件标签值
包含非字母数字字符(包括非英语多字节-UTF字符)的标签名称应双引号括起。双引号和双引号内的反斜杠必须用反斜杠转义。
{EVENT.CAUSE.TIME} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
原因事件的时间
{EVENT.CAUSE.UPDATE.HISTORY} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
原因问题更新日志(确认等)
{EVENT.CAUSE.VALUE} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
原因事件的数值(问题为1,恢复为0)
{EVENT.SYMPTOMS} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
症状事件列表
包括以下详细信息:主机名,事件名称,严重性,年龄,服务标签和值。

函数

支持于 描述
{FUNCTION.VALUE} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件动作 脚本 命令
→ 事件名称
触发器表达式中第N个基于监控项的函数在事件发生时的结果。
仅计算以 /host/key 作为第一个参数的函数。

此宏可与数字索引一起使用,例如 {FUNCTION.VALUE<1-9>},以指向触发器表达式中的第一个、第二个、第三个等函数。参见 索引宏

注意 在Zabbix 7.0.5之前,不支持 {FUNCTION.VALUE};请改用 {FUNCTION.VALUE1}。
{FUNCTION.RECOVERY.VALUE} → 问题 恢复通知 和命令
→ 问题更新通知和命令
→ 手动事件动作 脚本 命令
恢复表达式中第N个基于监控项的函数在事件发生时的结果。
仅计算以 /host/key 作为第一个参数的函数。

此宏可与数字索引一起使用,例如 {FUNCTION.RECOVERY.VALUE<1-9>},以指向触发器表达式中的第一个、第二个、第三个等函数。参见 索引宏

注意 在Zabbix 7.0.5之前,不支持 {FUNCTION.RECOVERY.VALUE};请改用 {FUNCTION.RECOVERY.VALUE1}。

主机

支持在 描述
{HOST.CONN} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 内部通知
→ 地图元素标签,地图URL名称和值
监控项 键参数1
→ 主机接口IP/DNS
→ Trapper 监控项 "允许的主机"字段
→ 数据库监控附加参数
→ SSH和Telnet脚本
→ JMX 监控项 终端字段
→ Web监控4
→ 低级别发现规则过滤正则表达式
→ 动态URL仪表板小部件的URL字段
→ 触发器名称,事件名称,操作数据和描述
→ 触发器URLs
Tag names and values
→ 脚本类型 监控项 和浏览器类型 监控项监控项 原型和发现规则参数名称和值
→ HTTP agent 类型 监控项监控项 原型和发现规则字段:
URL,query 字段,请求正文,标题,SSL证书文件,SSL密钥文件,允许的主机。
→ 手动主机操作 script 命令,确认文本
→ 手动事件操作 script 命令,确认文本
→ 手动事件/主机操作URLs,确认文本
描述 参数在 Item valueGauge 小部件
→ 主/次标签 文本 参数在 Honeycomb 小部件
文本 数据类型列在 Top hosts 小部件
主机IP地址或DNS名称,取决于主机设置2

可以使用数字索引与 {HOST.CONN[<1-9>](supported_by_location#indexed_macros)} 一起使用,以指向触发器表达式中的第一个,第二个,第三个等主机。参见 indexed macros
{HOST.DESCRIPTION} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 内部通知
→ 地图元素标签
→ 手动事件操作 script 命令
描述 参数在 Item valueGauge 小部件
→ 主/次标签 文本 参数在 Honeycomb 小部件
文本 数据类型列在 Top hosts 小部件
主机描述

此宏可以使用数字索引,例如 {HOST.DESCRIPTION[<1-9>](supported_by_location#indexed_macros)},以指向触发器表达式中的第一个,第二个,第三个等主机。参见 indexed macros
{HOST.DNS} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 内部通知
→ 地图元素标签,地图URL名称和值
监控项 键参数1
→ 主机接口IP/DNS
→ Trapper 监控项 "允许的主机"字段
→ 数据库监控附加参数
→ SSH和Telnet脚本
→ JMX 监控项 终端字段
→ Web监控4
→ 低级别发现规则过滤正则表达式
→ 动态URL仪表板小部件的URL字段
→ 触发器名称,事件名称,操作数据和描述
→ 触发器URLs
Tag names and values
→ 脚本类型 监控项 和浏览器类型 监控项监控项 原型和发现规则参数名称和值
→ HTTP agent 类型 监控项监控项 原型和发现规则字段:
URL,query 字段,请求正文,标题,SSL证书文件,SSL密钥文件,允许的主机。
→ 手动主机操作 script 命令,确认文本
→ 手动事件操作 script 命令,确认文本
→ 手动事件/主机操作URLs,确认文本
描述 参数在 Item valueGauge 小部件
→ 主/次标签 文本 参数在 Honeycomb 小部件
文本 数据类型列在 Top hosts 小部件
主机DNS名称2

此宏可以使用数字索引,例如 {HOST.DNS[<1-9>](supported_by_location#indexed_macros)},以指向触发器表达式中的第一个,第二个,第三个等主机。参见 indexed macros
{HOST.HOST} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 自注册通知和命令
→ 内部通知
监控项 键参数
→ 地图元素标签,地图URL名称和值
→ 主机接口IP/DNS
→ Trapper 监控项 "允许的主机"字段
→ 数据库监控附加参数
→ SSH和Telnet脚本
→ JMX 监控项 终端字段
→ Web监控4
→ 低级别发现规则过滤正则表达式
→ 动态URL仪表板小部件的URL字段
→ 触发器名称,事件名称,操作数据和描述
→ 触发器URLs
Tag names and values
→ 脚本类型 监控项 和浏览器类型 监控项监控项 原型和发现规则参数名称和值
→ HTTP agent 类型 监控项监控项 原型和发现规则字段:
URL,query 字段,请求正文,标题,SSL证书文件,SSL密钥文件,允许的主机。
→ 手动主机操作 script 命令,确认文本
→ 手动事件操作 script 命令,确认文本
→ 手动事件/主机操作URLs,确认文本
描述 参数在 Item valueGauge 小部件
→ 主/次标签 文本 参数在 Honeycomb 小部件
文本 数据类型列在 Top hosts 小部件
主机名称

此宏可以使用数字索引,例如 {HOST.HOST[<1-9>](supported_by_location#indexed_macros)},以指向触发器表达式中的第一个,第二个,第三个等主机。参见 indexed macros

{HOSTNAME<1-9>} 已废弃。

如果此宏作为 history function 的第一个参数的占位符使用,例如 last(/{HOST.HOST}/{ITEM.KEY}),则不支持 Macro functions
{HOST.ID} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 内部通知
→ 地图元素标签,地图URL名称和值
→ 动态URL仪表板小部件的URL字段
→ 触发器URLs
Tag names and values
→ 手动主机操作 script 确认文本
→ 手动事件操作 script 命令,确认文本
→ 手动事件/主机操作URLs,确认文本
描述 参数在 Item valueGauge 小部件
→ 主/次标签 文本 参数在 Honeycomb 小部件
文本 数据类型列在 Top hosts 小部件
主机ID

可以使用数字索引与 {HOST.ID[<1-9>](supported_by_location#indexed_macros)} 一起使用,以指向触发器表达式中的第一个,第二个,第三个等主机。参见 indexed macros
{HOST.IP} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 自注册通知和命令
→ 内部通知
→ 地图元素标签,地图URL名称和值
监控项 键参数1
→ 主机接口IP/DNS
→ Trapper 监控项 "允许的主机"字段
→ 数据库监控附加参数
→ SSH和Telnet脚本
→ JMX 监控项 终端字段
→ Web监控4
→ 低级别发现规则过滤正则表达式
→ 动态URL仪表板小部件的URL字段
→ 触发器名称,事件名称,操作数据和描述
→ 触发器URLs
Tag names and values
→ 脚本类型 监控项 和浏览器类型 监控项监控项 原型和发现规则参数名称和值
→ HTTP agent 类型 监控项监控项 原型和发现规则字段:
URL,query 字段,请求正文,标题,SSL证书文件,SSL密钥文件,允许的主机。
→ 手动主机操作 script 命令,确认文本
→ 手动事件操作 script 命令,确认文本
→ 手动事件/主机操作URLs,确认文本
描述 参数在 Item valueGauge 小部件
→ 主/次标签 文本 参数在 Honeycomb 小部件
文本 数据类型列在 Top hosts 小部件
主机IP地址2

此宏可以使用数字索引,例如 {HOST.IP[<1-9>](supported_by_location#indexed_macros)},以指向触发器表达式中的第一个,第二个,第三个等主机。参见 indexed macros

{IPADDRESS<1-9>} 已废弃。
{HOST.METADATA} → 自注册通知和命令 主机元数据
仅用于主动 agent 自注册。
{HOST.NAME} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 内部通知
→ 地图元素标签,地图URL名称和值
监控项 键参数
→ 主机接口IP/DNS
→ Trapper 监控项 "允许的主机"字段
→ 数据库监控附加参数
→ SSH和Telnet脚本
→ Web监控4
→ 低级别发现规则过滤正则表达式
→ 动态URL仪表板小部件的URL字段
→ 触发器名称,事件名称,操作数据和描述
→ 触发器URLs
Tag names and values
→ 脚本类型 监控项 和浏览器类型 监控项监控项 原型和发现规则参数名称和值
→ HTTP agent 类型 监控项监控项 原型和发现规则字段:
URL,query 字段,请求正文,标题,SSL证书文件,SSL密钥文件,允许的主机。
→ 手动主机操作 script 命令,确认文本
→ 手动事件操作 script 命令,确认文本
→ 手动事件/主机操作URLs,确认文本
描述 参数在 Item valueGauge 小部件
→ 主/次标签 文本 参数在 Honeycomb 小部件
文本 数据类型列在 Top hosts 小部件
可见主机名称

此宏可以使用数字索引,例如 {HOST.NAME[<1-9>](supported_by_location#indexed_macros)},以指向触发器表达式中的第一个,第二个,第三个等主机。参见 indexed macros
{HOST.PORT} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 自注册通知和命令
→ 内部通知
→ 触发器名称,事件名称,操作数据和描述
→ 触发器URLs
→ JMX 监控项 终端字段
Tag names and values
→ 手动主机操作 script 命令,确认文本
→ 手动事件操作 script 命令,确认文本
→ 手动事件/主机操作URLs,确认文本
描述 参数在 Item valueGauge 小部件
→ 主/次标签 文本 参数在 Honeycomb 小部件
文本 数据类型列在 Top hosts 小部件
主机 ({TERM_b33aed8f}) 端口2

此宏可以使用数字索引,例如 {HOST.PORT[<1-9>](supported_by_location#indexed_macros)},以指向触发器表达式中的第一个,第二个,第三个等主机。参见 indexed macros
{HOST.TARGET.CONN} → 基于触发器的命令
→ 问题更新命令
→ 发现命令
→ 自注册命令
目标主机的IP地址或DNS名称,取决于主机设置。
{HOST.TARGET.DNS} → 基于触发器的命令
→ 问题更新命令
→ 发现命令
→ 自注册命令
目标主机的DNS名称
{HOST.TARGET.HOST} → 基于触发器的命令
→ 问题更新命令
→ 发现命令
→ 自注册命令
目标主机的技术名称
{HOST.TARGET.IP} → 基于触发器的命令
→ 问题更新命令
→ 发现命令
→ 自注册命令
目标主机的IP地址
{HOST.TARGET.NAME} → 基于触发器的命令
→ 问题更新命令
→ 发现命令
→ 自注册命令
目标主机的可见名称

参见:Host inventory

主机组

支持内容 说明
{HOSTGROUP.ID} → 地图元素标签、地图URL名称和值 主机组ID。

主机库存

支持于 描述
{INVENTORY.ALIAS} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 内部通知
标签名称和值
→ 拓扑图元素标签,拓扑图URL名称和值
→ 脚本类型项目和浏览器类型项目6
→ 手动主机操作 脚本 命令,确认文本6
→ 手动事件操作 脚本 命令,确认文本
→ 手动事件/主机操作URL,确认文本
描述 参数在 项目值仪表盘 小部件
蜂窝 小部件的主/次标签 文本 参数
Top 主机 小部件的 文本 数据类型列
主机库存中的别名字段。

此宏可以与数字索引一起使用,例如 {INVENTORY.ALIAS<1-9>},以指向触发器表达式中的第一个,第二个,第三个等主机。参见 索引宏
{INVENTORY.ASSET.TAG} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 内部通知
标签名称和值
→ 拓扑图元素标签,拓扑图URL名称和值
→ 脚本类型项目和浏览器类型项目6<br

监控项

支持于 描述
{ITEM.DESCRIPTION} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 内部通知
→ 手动事件操作 脚本 命令
Item valueGauge 小部件中的 Description 参数
Honeycomb 小部件中的主/次标签 Text 参数
触发器表达式中导致通知的第N项的描述

此宏可与数字索引一起使用,例如 {ITEM.DESCRIPTION<1-9>},以指向触发器表达式中的第一、第二、第三等项。参见 索引宏
{ITEM.DESCRIPTION.ORIG} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 内部通知
→ 手动事件操作 脚本 命令
Item valueGauge 小部件中的 Description 参数
Honeycomb 小部件中的主/次标签 Text 参数
未解析宏的触发器表达式中导致通知的第N项的原始描述

此宏可与数字索引一起使用,例如 {ITEM.DESCRIPTION.ORIG<1-9>},以指向触发器表达式中的第一、第二、第三等项。参见 索引宏

低级别自动发现规则

支持内容 说明
{LLDRULE.DESCRIPTION} → 基于LLD规则的内部通知 导致通知的低级别自动发现规则的说明。
{LLDRULE.DESCRIPTION.ORIG} → 基于LLD规则的内部通知 导致通知的低级别自动发现规则的说明(未解析宏)。
{LLDRULE.ID} → 基于LLD规则的内部通知 导致通知的低级别自动发现规则的数字ID。
{LLDRULE.KEY} → 基于LLD规则的内部通知 导致通知的低级别自动发现规则的键。
{LLDRULE.KEY.ORIG} → 基于LLD规则的内部通知 导致通知的低级别自动发现规则的原始键(宏未展开)。
{LLDRULE.NAME} → 基于LLD规则的内部通知 导致通知的低级别自动发现规则(解析的宏)的名称。
{LLDRULE.NAME.ORIG} → 基于LLD规则的内部通知 导致通知的低级别自动发现规则的原始名称(未解析宏)。
{LLDRULE.STATE} → 基于LLD规则的内部通知 低级别自动发现规则的最新状态。 可能的值:不支持正常
{LLDRULE.STATE.ERROR} → 基于LLD规则的内部通知 包含LLD规则不受支详细原因的错误消息。

如果LLD规则进入不支持状态,然后立即再次获得支持,则错误字段可以为空。

地图

支持内容 说明
{MAP.ID} → 地图元素标签、地图URL名称和值 网络地图ID。
{MAP.NAME} → 地图元素标签、地图URL名称和值
→ 地图形状中的文本字段
网络地图名称。

Proxies

Macro 在以下场景中支持 描述
{proxy.DESCRIPTION} → 基于Trigger的通知和命令
→ 问题更新通知和命令
→ 发现通知和命令
→ 自注册通知和命令
→ 内部通知
→ 手动事件操作 script 命令
proxy 的描述。解析为:
1) 触发器表达式中第N个 监控项 的 proxy(在基于Trigger的通知中)。您可以在这里使用 indexed 宏。
2) 执行发现的 proxy(在发现通知中)。在这里使用 {proxy.DESCRIPTION},无需索引。
3) 一个主动 agent 注册的 proxy(在自注册通知中)。在这里使用 {proxy.DESCRIPTION},无需索引。

此宏可以与数字索引一起使用,例如 {proxy.DESCRIPTION<1-9>},以指向触发器表达式中的第一个、第二个、第三个等 监控项。参见 indexed macros
{proxy.NAME} → 基于Trigger的通知和命令
→ 问题更新通知和命令
→ 发现通知和命令
→ 自注册通知和命令
→ 内部通知
→ 手动事件操作 script 命令
proxy 的名称。解析为:
1) 触发器表达式中第N个 监控项 的 proxy(在基于Trigger的通知中)。您可以在这里使用 indexed 宏。
2) 执行发现的 proxy(在发现通知中)。在这里使用 {proxy.NAME},无需索引。
3) 一个主动 agent 注册的 proxy(在自注册通知中)。在这里使用 {proxy.NAME},无需索引。

此宏可以与数字索引一起使用,例如 {proxy.NAME<1-9>},以指向触发器表达式中的第一个、第二个、第三个等 监控项。参见 indexed macros

脚本

支持于 描述
{MANUALINPUT} → 手动主机操作 脚本 命令,确认文本
→ 手动事件操作 脚本 命令,确认文本
→ 手动事件/主机操作 URL,确认文本
用户在脚本执行时指定的 手动输入值

服务

支持于 描述
{SERVICE.DESCRIPTION} → 基于服务的通知和命令
→ 服务更新通知和命令
服务的描述(已解析宏)。
{SERVICE.NAME} → 基于服务的通知和命令
→ 服务更新通知和命令
服务的名称(已解析宏)。
{SERVICE.ROOTCAUSE} → 基于服务的通知和命令
→ 服务更新通知和命令
导致服务失败的触发器问题事件列表,按严重性和主机名排序。包括以下详细信息:主机名、事件名称、严重性、持续时间、服务标签和值。
{SERVICE.TAGS} → 基于服务的通知和命令
→ 服务更新通知和命令
以逗号分隔的服务事件标签列表。服务事件标签可以在服务配置部分的标签中定义。如果不存在标签,则扩展为空字符串。
{SERVICE.TAGSJSON} → 基于服务的通知和命令
→ 服务更新通知和命令
包含服务事件标签对象的JSON数组。服务事件标签可以在服务配置部分的标签中定义。如果不存在标签,则扩展为空数组。
{SERVICE.TAGS.<tag name>} → 基于服务的通知和命令
→ 服务更新通知和命令
由标签名称引用的服务事件标签值。服务事件标签可以在服务配置部分的标签中定义。
包含非字母数字字符(包括非英文多字节UTF字符)的标签名称应双引号括起。双引号内的标签名称中的引号和反斜杠必须用反斜杠转义。

触发器

支持于 描述
{TRIGGER.DESCRIPTION} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于触发器的内部通知
→ 手动事件操作 脚本 命令
触发器描述。
如果在通知文本中使用 {TRIGGER.DESCRIPTION},则触发器描述中支持的所有宏将被展开。
{TRIGGER.COMMENT} 已废弃。
{TRIGGER.EXPRESSION.EXPLAIN} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
→ 事件名称
部分评估的触发器表达式。
基于监控项的函数在事件生成时被评估并替换为结果,而表达式中所有其他函数则按原样显示。可用于调试触发器表达式。
{TRIGGER.EXPRESSION.RECOVERY.EXPLAIN} → 问题 恢复通知 和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
部分评估的触发器恢复表达式。
基于监控项的函数在事件生成时被评估并替换为结果,而表达式中所有其他函数则按原样显示。可用于调试触发器恢复表达式。
{TRIGGER.EVENTS.ACK} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 拓扑图元素标签
→ 手动事件操作 脚本 命令
拓扑图元素的已确认事件数量,或对于生成当前事件的触发器的通知中的已确认事件数量。
{TRIGGER.EVENTS.PROBLEM.ACK} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 拓扑图元素标签
→ 手动事件操作 脚本 命令
所有触发器的已确认 PROBLEM 事件数量,无论其状态如何。
{TRIGGER.EVENTS.PROBLEM.UNACK} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 拓扑图元素标签
→ 手动事件操作 脚本 命令
所有触发器的未确认 PROBLEM 事件数量,无论其状态如何。
{TRIGGER.EVENTS.UNACK} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 拓扑图元素标签
→ 手动事件操作 脚本 命令
拓扑图元素的未确认事件数量,或对于生成当前事件的触发器的通知中的未确认事件数量。
{TRIGGER.HOSTGROUP.NAME} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于触发器的内部通知
→ 手动事件操作 脚本 命令
触发器定义所在的主机群组的排序(按 SQL 查询),逗号空格分隔列表。
{TRIGGER.PROBLEM.EVENTS.PROBLEM.ACK} → 拓扑图元素标签 触发器处于 PROBLEM 状态时的已确认 PROBLEM 事件数量。
{TRIGGER.PROBLEM.EVENTS.PROBLEM.UNACK} → 拓扑图元素标签 触发器处于 PROBLEM 状态时的未确认 PROBLEM 事件数量。
{TRIGGER.EXPRESSION} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于触发器的内部通知
→ 手动事件操作 脚本 命令
触发器表达式。
{TRIGGER.EXPRESSION.RECOVERY} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于触发器的内部通知
→ 手动事件操作 脚本 命令
触发器恢复表达式 如果在 触发器配置 中设置 OK 事件生成 为 '恢复表达式';否则返回空字符串。
{TRIGGER.ID} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于触发器的内部通知
→ 拓扑图元素标签,拓扑图 URL 名称和值
→ 触发器 URL
→ 触发器标签值
→ 手动事件操作 脚本 命令
触发此操作的数字触发器 ID。
在触发器标签值中支持。
{TRIGGER.NAME} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于触发器的内部通知
→ 手动事件操作 脚本 命令
触发器的名称(已解析宏)。
请注意,自 4.0.0 版本起,{EVENT.NAME} 可以在操作中使用以显示已解析宏的触发事件/问题名称。
{TRIGGER.NAME.ORIG} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于触发器的内部通知
→ 手动事件操作 脚本 命令
触发器的原始名称(即未解析宏)。
{TRIGGER.NSEVERITY} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于触发器的内部通知
→ 手动事件操作 脚本 命令
数值触发器严重性。 可能的值:0 - 未分类,1 - 信息,2 - 警告,3 - 平均,4 - 高,5 - 灾难。
{TRIGGER.SEVERITY} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于触发器的内部通知
→ 手动事件操作 脚本 命令
触发器严重性名称。 可在 管理 → 通用 → 触发器显示选项 中定义。
{TRIGGER.STATE} → 基于触发器的内部通知 触发器的最新状态。 可能的值:未知正常
{TRIGGER.STATE.ERROR} → 基于触发器的内部通知 触发器变为不受支持的详细错误消息。

如果触发器进入不受支持状态然后立即再次得到支持,错误字段可能为空。
{TRIGGER.STATUS} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 手动事件操作 脚本 命令
操作步骤执行时的触发器值。 可能为 PROBLEM 或 OK。
{STATUS} 已废弃。
{TRIGGER.TEMPLATE.NAME} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于触发器的内部通知
→ 手动事件操作 脚本 命令
触发器定义所在的模板的排序(按 SQL 查询),逗号空格分隔列表,或 *UNKNOWN* 如果触发器定义在主机中。
{TRIGGER.URL} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于触发器的内部通知
→ 手动事件操作 脚本 命令
触发器 URL。
{TRIGGER.URL.NAME} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 基于触发器的内部通知
→ 手动事件操作 脚本 命令
触发器 URL 的标签。
{TRIGGER.VALUE} → 基于触发器的通知和命令
→ 问题更新通知和命令
→ 触发器表达式
→ 手动事件操作 脚本 命令
当前触发器数值:0 - 触发器处于 OK 状态,1 - 触发器处于 PROBLEM 状态。
{TRIGGERS.UNACK} → 拓扑图元素标签 拓扑图元素的未确认触发器数量,不考虑触发器状态。
如果触发器至少有一个 PROBLEM 事件未确认,则认为该触发器未确认。
{TRIGGERS.PROBLEM.UNACK} → 拓扑图元素标签 拓扑图元素的未确认 PROBLEM 触发器数量。
如果触发器至少有一个 PROBLEM 事件未确认,则认为该触发器未确认。
{TRIGGERS.ACK} → 拓扑图元素标签 拓扑图元素的已确认触发器数量,不考虑触发器状态。
如果触发器的所有 PROBLEM 事件都已确认,则认为该触发器已确认。
{TRIGGERS.PROBLEM.ACK}

用户

支持于 描述
{USER.FULLNAME} → 问题更新通知和命令
→ 手动主机操作 脚本 命令,确认文本
→ 手动事件操作 脚本 命令,确认文本
→ 手动事件/主机操作 URL,确认文本
用户全名,姓氏和用户名,添加事件确认或启动脚本的用户。
{USER.NAME} → 手动主机操作 脚本 命令,确认文本
→ 手动事件操作 脚本 命令,确认文本
→ 手动事件/主机操作 URL,确认文本
启动脚本的用户的名字
{USER.SURNAME} → 手动主机操作 脚本 命令,确认文本
→ 手动事件操作 脚本 命令,确认文本
→ 手动事件/主机操作 URL,确认文本
启动脚本的用户的姓氏
{USER.USERNAME} → 手动主机操作 脚本 命令,确认文本
→ 手动事件操作 脚本 命令,确认文本
→ 手动事件/主机操作 URL,确认文本
启动脚本的用户的用户名
{USER.ALIAS},在Zabbix 5.4.0之前支持,现在已废弃。

其他宏类型

支持内容 说明
{$MACRO} → 参见: 支持用户自定义宏的位置 用户可定义 的宏。
{#MACRO} → 参见: 低级别自动发现宏 低级别自动发现宏。
{?EXPRESSION} → 触发器事件名称
→ 基于触发器的通知和命令
→ 问题更新通知和命令
→ 脚本命令及其webhook参数
→ 地图元素标签3
→ 地图形状标签3
→ 链接地图中的标签3
→ 图形名称5
参见 表达式宏
$1...$9 → 触发器 名称
→ 用户参数 命令
宏/引用的位置。
脚注

1 在监控项键参数中支持的{HOST.*}宏将 解析为选定的接口。当在 没有接口的监控项中使用时,它们将解析为Zabbix agent、 SNMP、JMX或IPMI接口的主机,按优先级顺序或解析为 'UNKNOWN'如果主机没有任何接口。

2 在全局脚本、接口IP/DNS字段和Web场景中, 宏将解析为主agent接口。如果未定义agent接口, 将使用主SNMP接口。如果未定义SNMP接口, 将使用主JMX接口。如果未定义JMX接口, 将使用主IPMI接口。如果主机没有任何接口, 宏解析为'UNKNOWN'。

3 只有avglastmaxmin函数, 带有秒作为参数,在此宏中支持在拓扑图标签中。

4 {HOST.*}宏在Web场景VariablesHeadersSSL证书文件SSL密钥文件字段中以及在 场景步骤URLPostHeadersRequired string字段中支持。 从Zabbix 5.2.2开始,{HOST.*}宏不再支持在Web 场景Name和Web场景步骤Name字段中。

5 只有avglastmaxmin函数, 带有秒作为参数,在此宏中支持在图表名称中。可以使用 {HOST.HOST<1-9>}宏作为宏中的主机。例如:

 last(/Cisco switch/ifAlias[{#SNMPINDEX}])
        last(/{HOST.HOST}/ifAlias[{#SNMPINDEX}])

6 在Script-type监控项和Browser-type监控项中支持, 以及Zabbix server和Zabbix proxy的手动主机操作脚本。

索引宏

索引宏语法 {MACRO<1-9>} 仅能引用触发器 Expression 字段中的第N个监控项、函数或主机:

  • {HOST.IP1}, {HOST.IP2}, {HOST.IP3} 分别解析为触发器表达式中(如果存在)第一个、第二个和第三个主机的IP地址。
  • {ITEM.VALUE1}, {ITEM.VALUE2}, {ITEM.VALUE3} 分别解析为触发器表达式中(如果存在)事件发生时第一个、第二个和第三个监控项的值。
  • {FUNCTION.VALUE1}, {FUNCTION.VALUE2}, {FUNCTION.VALUE3} 分别解析为触发器表达式中(如果存在)事件发生时第一个、第二个和第三个基于监控项的函数的值。

在触发器的上下文中,索引宏始终引用触发器配置的 Expression 字段,而不是 Recovery expression。例如,在恢复事件中,{ITEM.VALUE2} 将解析为问题表达式中第二个监控项在恢复时刻的值。

{HOST.HOST<1-9>} 宏也支持在 图表名称 中的 {?func(/host/key,param)} 表达式宏内使用。 例如,在图表名称中的 {?func(/{HOST.HOST2}/key,param)} 将解析为图表中第二个监控项所属的主机。

索引宏在除上述情况外的任何其他上下文中都不会解析。 对于其他上下文,使用无索引的宏({HOST.HOST}, {HOST.IP} 等)。