4 在消息中使用宏

概述

在消息主题和消息文本中,您可以使用宏来更高效地报告问题。

除了若干内置宏之外,还支持 用户宏表达式宏。 Zabbix 支持的 完整宏列表 可供查阅。

示例

此处的示例说明了如何在消息中使用宏。

示例 1

消息主题:

Problem: {TRIGGER.NAME}

当您收到该消息时,消息主题将被替换为类似如下内容:

Problem: Zabbix 服务器上的处理器负载过高
示例 2

消息:

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

当您收到该消息时,消息将被替换为类似如下内容:

处理器负载为:1.45
示例 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
示例 4

消息:

http://<server_ip_or_name>/zabbix/tr_events.php?triggerid={TRIGGER.ID}&eventid={EVENT.ID}

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

示例 5

在触发器表达式中通知来自多个主机的值。

消息:

Problem name: {TRIGGER.NAME}
Trigger expression: {TRIGGER.EXPRESSION}

1. 主机 {HOST.NAME1} 上的监控项值:{ITEM.VALUE1} ({ITEM.NAME1})
2. 主机 {HOST.NAME2} 上的监控项值:{ITEM.VALUE2} ({ITEM.NAME2})

当您收到该消息时,消息将被替换为类似如下内容:

Problem name: 本地主机上的处理器负载过高
Trigger expression: last(/Myhost/system.cpu.load[percpu,avg1])>5 or last(/Myotherhost/system.cpu.load[percpu,avg1])>5

1. 主机 Myhost 上的监控项值:0.83(处理器负载(每核 1 分钟平均值))
2. 主机 Myotherhost 上的监控项值:5.125(处理器负载(每核 1 分钟平均值))
示例 6

恢复 消息中同时接收问题事件和恢复事件的详细信息:

消息:

问题:

事件 ID:{EVENT.ID}
事件值:{EVENT.VALUE} 
事件状态:{EVENT.STATUS} 
事件时间:{EVENT.TIME}
事件日期:{EVENT.DATE}
事件持续时间:{EVENT.AGE}
事件确认:{EVENT.ACK.STATUS} 
事件更新历史:{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
事件确认:是 
事件更新历史:2018.01.02 13:05:51 "John Smith (Admin)"
操作:已确认。

恢复: 

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