[comment]: # ({b1624dc4-b1624dc4})
# 4 在消息中使用宏

[comment]: # ({/b1624dc4-b1624dc4})

[comment]: # ({807a440d-72998395})
#### 概述

在消息主题和消息文本中，您可以使用宏来实现更高效的问题报告。

除了大量内置宏之外，还支持 [user macros](/manual/config/macros/user_macros)
和 [expression macros](/manual/config/macros/expression_macros)。Zabbix 还支持使用 [full list of macros](/manual/appendix/macros/supported_by_location)。

[comment]: # ({/807a440d-72998395})

[comment]: # ({e5ad63df-e5ad63df})
#### 示例

以下示例说明了如何在消息中使用宏。

[comment]: # ({/e5ad63df-e5ad63df})

[comment]: # ({ea278b25-102863de})
##### 示例1

消息主题：

    问题：{TRIGGER.NAME}

当您收到该消息时，消息主题将被替换为类似以下内容：

    问题：Zabbix server上的处理器负载过高

[comment]: # ({/ea278b25-102863de})

[comment]: # ({6cfc8714-1344257c})
##### 示例2

消息：

    处理器负载为：{?last(/zabbix.zabbix.com/system.cpu.load[,avg1])}

当您收到消息时，消息将被替换为类似以下内容：

    处理器负载为：1.45

[comment]: # ({/6cfc8714-1344257c})

[comment]: # ({340cc8fc-3713b8a5})
##### 示例3

消息：

    最新值：{?last(/{HOST.HOST}/{ITEM.KEY})}
    最近 15 分钟内的最大值：{?max(/{HOST.HOST}/{ITEM.KEY},15m)}
    最近 15 分钟内的最小值：{?min(/{HOST.HOST}/{ITEM.KEY},15m)}

收到消息后，消息将被替换为类似以下内容：

    最新值：1.45
    最大值（15 分钟内）：2.33
    最小值（15 分钟内）：1.01

[comment]: # ({/340cc8fc-3713b8a5})

[comment]: # ({58ac40a2-88afe91c})
##### 示例4

消息：

    http://<服务器IP或名称>/zabbix/tr_events.php?triggerid={TRIGGER.ID}&eventid={EVENT.ID}

当你收到消息时，其中将包含一个指向*事件详情*页面的链接，该页面提供有关事件、其触发器以及由同一触发器生成的最新事件列表的信息。

[comment]: # ({/58ac40a2-88afe91c})

[comment]: # ({03494b42-d41797c6})
##### 示例5

在触发器表达式中报告多个 主机 的值。

消息：

    问题名称: {TRIGGER.NAME}
    触发器表达式: {TRIGGER.EXPRESSION}
     
    1. 监控项 值在 {HOST.NAME1} 上: {ITEM.VALUE1} ({ITEM.NAME1})
    2. 监控项 值在 {HOST.NAME2} 上: {ITEM.VALUE2} ({ITEM.NAME2})

当你收到这条消息时，消息将被替换为类似以下内容：

    问题名称: 本地 主机 上的处理器负载过高
    触发器表达式: last(/Myhost/system.cpu.load[percpu,avg1])>5 或 last(/Myotherhost/system.cpu.load[percpu,avg1])>5

    1. 监控项 值在 Myhost 上: 0.83 (处理器负载 (1 分钟平均每核心))
    2. 监控项 值在 Myotherhost 上: 5.125 (处理器负载 (1 分钟平均每核心))

[comment]: # ({/03494b42-d41797c6})

[comment]: # ({197676cf-0ee2664c})
##### 示例6

在一条 [recovery](/manual/config/notifications/action/recovery_operations) 消息中接收问题事件和恢复事件的详细信息：

消息：

    问题：

    事件 ID：{EVENT.ID}
    事件值：{EVENT.VALUE} 
    事件状态：{EVENT.STATUS} 
    事件时间：{EVENT.TIME}
    事件日期：{EVENT.DATE}
    事件持续时间：{EVENT.AGE}
    事件确认：{EVENT.ACK.STATUS} 
    事件 update 历史：{EVENT.UPDATE.HISTORY}

    恢复：

    事件 ID：{EVENT.RECOVERY.ID}
    事件值：{EVENT.RECOVERY.VALUE} 
    事件状态：{EVENT.RECOVERY.STATUS} 
    事件时间：{EVENT.RECOVERY.TIME}
    事件日期：{EVENT.RECOVERY.DATE}
    操作数据：{EVENT.OPDATA}

收到消息时，宏将被类似如下内容替换：

    问题：

    事件 ID：21874
    事件值：1 
    事件状态：PROBLEM 
    事件时间：13:04:30
    事件日期：2018.01.02
    事件持续时间：5m 0s
    事件确认：是 
    事件 update 历史：2018.01.02 13:05:51 "John Smith (Admin)"
    操作：已确认。

    恢复：

    事件 ID：21896
    事件值：0 
    事件状态：OK 
    事件时间：13:10:07
    事件日期：2018.01.02
    操作数据：当前值为 0.83

[comment]: # ({/197676cf-0ee2664c})
