This is a translation of the original English documentation page. Help us make it better.
Table of Contents

6 Expression macros

Overview

Expression macros are useful for formula calculations. They are calculated by expanding all macros inside and evaluating the resulting expression.

Expression macros have a special syntax:

{?MACRO}

See example of using an expression macro in the event name.

Usage

In the following locations:

  • graph names
  • map element labels
  • map shape labels
  • map link labels

only a single function, from the following set: avg, last, max, min, is allowed as an expression macro, e.g.:

{?avg(/{HOST.HOST}/key,1h)}

Expressions such as {?last(/host/item1)/last(/host/item2)}, {?count(/host/item1,5m)} and {?last(/host/item1)*10} are incorrect in these locations.

However, in:

  • trigger event names
  • trigger-based notifications and commands
  • problem update notifications and commands

complex expressions are allowed, e.g.:

{?trendavg(/host/item1,1M:now/M)/trendavg(/host/item1,1M:now/M-1y)*100}

See also:

  • Supported macros for a list of supported locations of the expression macro
  • Example of using an expression macro in the event name