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