Ad Widget

Collapse

Макросы в оповещениях. Поиск триггера.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Alex_UUU
    Senior Member
    • Dec 2018
    • 541

    #1

    Макросы в оповещениях. Поиск триггера.

    Заббикс 5.2 :-)
    Задача. В скрипте, обрабатывающим оповещение необходимо найти аналогичные сработки.
    Ищем по апи event.get/
    Но.
    Макрос {TRIGGER.ID} дает ИД только конкретного триггера. Т.е. так мы найдем евенты по конкретному триггеру.
    {TRIGGER.NAME} позволяет найти евенты по имени триггера на всех хостах. Т.е. Если имя триггера "Шеф, все пропало", то в выборке получим все сработки с этим именем. Отлично.
    {TRIGGER.NAME.ORIG} - тоже, что и предыдущий, только без раскрытия макросов. Но, зараза, только ПОЛЬЗОВАТЕЛЬСКИХ или системных. Т.е. "Шеф, все пропало на {HOST.IP}" найдет все аналогичные.
    но если макрос LLD, то он раскроется и все триггеры "Шеф, все пропало на {#HOST.IP}" будут уже разными.
    Вопрос: есть ли макрос оригинального имени прототипа, или ID оригинального триггера прототипа?
    Пока вижу путь через несколько поисков, но он не красивый :-(
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Видимо, в вашей постановке задачи требуется уточнение, что подразумевается под "аналогичным" событием.
    События, порождённые тем же триггером (по ID триггера) вам не подходят.
    События с одинаковым именем вам тоже не подходят.
    Тогда что же именно нужно?

    Как вариант, можно искать по частичному имени события, отрезая из него переменную часть.

    Ну и замечание в сторону: я надеюсь, что вы в курсе, что версия 5.2 уже несколько лет как не поддерживается.

    Comment

    • Alex_UUU
      Senior Member
      • Dec 2018
      • 541

      #3
      Да, насчет версии - знаю, конечно. Но никак пока не получается с грждостью написать "Версия 7.х" :-)
      Немного уточню., хотя ы правильно догадались :-)

      Есть шаблон, в нем ЭД и триггер с названием, например "Trigger {HOST.IP}"
      Шаблон прицеплен к нескольким хостам.
      Соответственно имеем разные Триггер.ИД и разные имена триггеров: "Trigger 192.168.0.1" "Trigger 192.168.0.2" "Trigger 192.168.0.1".
      Мне надо, при срабатывании любого найти, а срабатывали другие аналогичные триггеры. Т.е. в оповещение я передаю макрос {TRIGGER.NAME.ORIG}, получаю в нем "Trigger {HOST.IP}" и делаю поиск в евентах по этому значению. Все отлично.
      А вот есть еще дискаверинг, с прототипом: "Trigger {#NAME} {HOST.IP}", который создает триггеры "Trigger Один 192.168.0.1" "Trigger Два 192.168.0.2" "Trigger Три 192.168.0.1"
      И вот тут надо найти также, как и ранее. Но не могу найти макрос, который передаст "Trigger {#NAME} {HOST.IP}", а без этого даже найти переменную часть невозможно, если ее конкретно не выделять в названии.

      Цель задачи избавиться от лишних уведомленийй - беспокойства группы реагирования. Т.к. опыт показывает, что если идет массовое срабатывание "одинаковых" триггеров на разных хостах - то это одна проблема, а не много разных.



      Comment

      • Kos
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • Aug 2015
        • 3404

        #4
        Originally posted by Alex_UUU
        в оповещение я передаю макрос {TRIGGER.NAME.ORIG}, получаю в нем "Trigger {HOST.IP}" и делаю поиск в евентах по этому значению. Все отлично.
        То есть, ищете вы уже, просматривая предыдущие события. Но ведь в имени события эти макросы будут уже в раскрытом виде, разве оно так работает? Или в версии 5.2 ещё было в нераскрытом (раскрывалось в реальном времени при отображении в веб-интерфейсе)? Уже не помню точно, когда эта часть переделывалась...
        Но не могу найти макрос, который передаст "Trigger {#NAME} {HOST.IP}"
        Такого и нет, LLD-макросы раскрываются на этапе отработки правила LLD.
        Может, тогда помечать такие триггеры каким-то тегом, и далее искать по этому тегу?

        Comment

        • Alex_UUU
          Senior Member
          • Dec 2018
          • 541

          #5
          Спасибо.
          Иногда задаю вопрос чтобы услышать ответ "такое невозможно", чтобы далее не ломать свои копья. Будем думать, как еще вывернуться.
          Еще раз спасибо. :-)

          Comment

          Working...