5 Макросы выражений

Обзор

Макросы выражений полезны для вычислений формул. Такие макросы вычисляются путем раскрытия всех макросов внутри и оценки результирующего выражения.

Макросы выражений имеют специальный синтаксис:

{?ВЫРАЖЕНИЕ}

Синтаксис внутри ВЫРАЖЕНИЯ такой же, как в триггерных выражениях (смотри ниже ограничения по использованию).

Внутри макросов выражений поддерживаются макросы {HOST.HOST<1-9>} и {ITEM.KEY<1-9>}. Макросы {ITEM.KEY<1-9>} поддерживаются в макросах выражений с Zabbix 6.0.9.

Использование

В следующих местах:

  • именах графиков
  • подписях к элементам карт
  • подписях к фигурам карт
  • подписях к связям карт

в качестве макроса выражения допускается только одна функция из следующего списка: avg, last, max, min, например:

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

Такие выражения как {?last(/host/item1)/last(/host/item2)}, {?count(/host/item1,5m)} и {?last(/host/item1)*10} в этих местах недопустимы.

Однако, в:

  • именах событий на триггеры
  • оповещениях и командах на триггеры
  • оповещениях и командах на обновление проблем

разрешены сложные выражения, например:

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

При использовании макросов выражений в шаблонах, пожалуйста, не указывайте имя шаблона, а вместо этого используйте {HOST.HOST<N>}, поскольку имена шаблонов не заменяются именами узлов сети во время присоединения шаблонов. Вы также можете вообще опустить ссылку на узел сети для первого узла сети, например: {?avg(//item1,1h)}

Смотрите также: