Ad Widget

Collapse

Шаблон оповещения: вычисляемый макрос ?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • kostenelo
    Junior Member
    • Apr 2019
    • 9

    #1

    Шаблон оповещения: вычисляемый макрос ?

    Всем привет!
    Настраиваю шаблон сообщения, оповещающий о событиях в zabbix, широко использую макросы https://www.zabbix.com/documentation...ed_by_location
    Практика показывает, что очень удобно сразу в сообщении видеть значения элементов данных, которые привели к срабатыванию или наоборот отключению триггера.
    Для включения таких данных в шаблон сообщения я использую макросы
    Code:
    Last value: {ITEM.VALUE}
    Value2: {ITEM.LASTVALUE2}
    Для включения данных из лога:
    Code:
    Time Log: {ITEM.LOG.DATE} {ITEM.LOG.TIME}
    Также бывает полезно включать теги:
    Code:
    {EVENT.TAGS}
    Однако есть загвоздка, такие макросы не всегда поддерживаются и если использовать один универсальный шаблон оповещения в нем появляются пустые строки или что-то такое:
    Time Log: *UNKNOWN* *UNKNOWN*
    Value2: *UNKNOWN*

    Когда я в первый раз столкнулся с Zabbix я испытывал сложности с использованием макросов, т.к. по сути это не вычисляемые выражения (а макросами обычно в ИТ называют именно вычисляемые выражения), а обычные переменные, которые Zabbix раскрывает в зависимости от контекста.
    Поэтому хочу уточнить есть ли в Zabbix возможность производить простые вычисления в формируемых текстах оповещений ? Например проверить существуют ли данные в {ITEM.LOG.DATE}
    и если их нет, то вообще не выводить строчку {ITEM.LOG.DATE} {ITEM.LOG.TIME} ?
    Судя по https://www.zabbix.com/documentation...pes/calculated такой возможности не предусмотрено.
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Нет, напрямую так сделать нельзя.

    Но можно выйти из положения, например, следующим образом.
    В шаблоне оповещения указать макрос {ITEM.VALUE1} (раскроется в текущее значение первого элемента данных из триггера, который есть всегда) и {TRIGGER.DESCRIPTION} (который раскрывается либо в значение поля "Description" триггера, если оно задано, либо в пустую строку).

    А уже в свойствах конкретного триггера можно играть с полем Description - либо оставлять его пустым, либо заполнять какой-то полезной информацией; как частный случай - использовать там макросы {ITEM.VALUE2} и прочие, которые в этом поле поддерживаются.

    Comment

    • kostenelo
      Junior Member
      • Apr 2019
      • 9

      #3
      Originally posted by Kos
      {TRIGGER.DESCRIPTION}
      Отличный лайфхак , возьму на вооружение. Что-то подобное и я искал!

      Comment

      Working...