4 Using macros in messages
Overview
In message subjects and message text you can use macros for more efficient problem reporting.
A full list of macros supported by Zabbix is available.
Examples
Examples here illustrate how you can use macros in messages.
Example 1
Message subject:
Problem: {TRIGGER.NAME}
When you receive the message, the message subject will be replaced by something like:
Problem: Processor load is too high on Zabbix server
Example 2
Message:
Processor load is: last(/zabbix.zabbix.com/system.cpu.load[,avg1])
When you receive the message, the message will be replaced by something like:
Processor load is: 1.45
Example 3
Message:
Latest value: last(/{HOST.HOST}/{ITEM.KEY})MAX for 15 minutes: max(/{HOST.HOST}/{ITEM.KEY},15m)MIN for 15 minutes: min(/{HOST.HOST}/{ITEM.KEY},15m)
When you receive the message, the message will be replaced by something like:
Latest value: 1.45MAX for 15 minutes: 2.33MIN for 15 minutes: 1.01
Example 4
Message:
http://<server_ip_or_name>/zabbix/tr_events.php?triggerid={TRIGGER.ID}&eventid={EVENT.ID}
When you receive the message, it will contain a link to the Event details page, which provides information about the event, its trigger, and a list of latest events generated by the same trigger.
Example 5
Informing about values from several hosts in a trigger expression.
Message:
Problem name: {TRIGGER.NAME}Trigger expression: {TRIGGER.EXPRESSION}1. Item value on {HOST.NAME1}: {ITEM.VALUE1} ({ITEM.NAME1})2. Item value on {HOST.NAME2}: {ITEM.VALUE2} ({ITEM.NAME2})
When you receive the message, the message will be replaced by something like:
Problem name: Processor load is too high on a local hostTrigger expression: last(/Myhost/system.cpu.load[percpu,avg1])>5 or last(/Myotherhost/system.cpu.load[percpu,avg1])>51. Item value on Myhost: 0.83 (Processor load (1 min average per core))2. Item value on Myotherhost: 5.125 (Processor load (1 min average per core))
Example 6
Receiving details of both the problem event and recovery event in a recovery message:
Message:
Problem:Event ID: {EVENT.ID}Event value: {EVENT.VALUE}Event status: {EVENT.STATUS}Event time: {EVENT.TIME}Event date: {EVENT.DATE}Event age: {EVENT.AGE}Event acknowledgment: {EVENT.ACK.STATUS}Event update history: {EVENT.UPDATE.HISTORY}Recovery:Event ID: {EVENT.RECOVERY.ID}Event value: {EVENT.RECOVERY.VALUE}Event status: {EVENT.RECOVERY.STATUS}Event time: {EVENT.RECOVERY.TIME}Event date: {EVENT.RECOVERY.DATE}Operational data: {EVENT.OPDATA}
When you receive the message, the macros will be replaced by something like:
Problem:Event ID: 21874Event value: 1Event status: PROBLEMEvent time: 13:04:30Event date: 2018.01.02Event age: 5mEvent acknowledgment: YesEvent update history: 2018.01.02 13:05:51 "John Smith (Admin)"Actions: acknowledged.Recovery:Event ID: 21896Event value: 0Event status: OKEvent time: 13:10:07Event date: 2018.01.02Operational data: Current value is 0.83
Separate notification macros for the original problem event and recovery event are supported since Zabbix 2.2.0.