Documentation

You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

4 Using macros in messages

Overview

In message subjects and message text you can use macros for more efficient problem reporting.

In addition to a number of built-in macros, user macros and expression macros are also supported. 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.45
       MAX for 15 minutes: 2.33
       MIN 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 host
       Trigger expression: last(/Myhost/system.cpu.load[percpu,avg1])>5 or last(/Myotherhost/system.cpu.load[percpu,avg1])>5
       
       1. 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: 21874
       Event value: 1 
       Event status: PROBLEM 
       Event time: 13:04:30
       Event date: 2018.01.02
       Event age: 5m
       Event acknowledgment: Yes 
       Event update history: 2018.01.02 13:05:51 "John Smith (Admin)"
       Actions: acknowledged.
       
       Recovery: 
       
       Event ID: 21896
       Event value: 0 
       Event status: OK 
       Event time: 13:10:07
       Event date: 2018.01.02
       Operational data: Current value is 0.83

Separate notification macros for the original problem event and recovery event are supported since Zabbix 2.2.0.