Ad Widget

Collapse

использование данных из inventory в триггере.

Collapse
This topic has been answered.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Lurker
    Member
    • Nov 2016
    • 83

    #1

    использование данных из inventory в триггере.

    Есть "универсальный" шаблон, который мониторит вентиляторы на разном оборудовании.
    Если не нашёл ни одного аллертит, что мол он не подходит для этого оборудования.
    Выяснилось что бывает оборудование, на котором нет вентиляторов, но этот шаблон там нужен как минимум для стандартизации.
    Наиболее логичным было бы в триггере обратиться к {inventory.model} и не зажигать триггер есть там указана определённая модель. Но к {inventory.*} из триггера обратиться нельзя.
    Опросить модель в итем в текущем шаблоне тоже выглядит плохой идеей, т.е. модель может храниться в разных OID и заранее нам не известно в каких.
    Понятно что можно наклепать несколько итемов, опрашивающих модель. Или вручную закрывать такие триггеры, но может есть менее костыльный вариант?
  • Answer selected by Lurker at 16-01-2024, 10:59.
    Semiadmin
    Senior Member
    • Oct 2014
    • 1625

    Значение из inventory можно получить в айтем так:
    Создается айтем типа script, в нем - параметр, например model, с макросом {INVENTORY.MODEL} в качестве значения, сам скрипт: return JSON.parse(value).model
    Айтем можно использовать в триггере или сделать singleton LLD, чтобы вообще не создавать триггер для определенных моделей.​

    Comment

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

      #2
      ВЕРСИЯ ZABBIX?!!!

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

      А каким образом реализовано вот это:
      Если не нашёл ни одного аллертит, что мол он не подходит для этого оборудования
      Я так понимаю, что вентиляторы ищутся, используя автообнаружение (LLD); как при этом сделан триггер (через агрегируемую функцию)?

      Comment

      • Lurker
        Member
        • Nov 2016
        • 83

        #3
        zabbix 6.2
        Так считается количество найденных вентиляторов, в вычисляемом итеме
        count(last_foreach(/{HOST.HOST}/fan.status.[*]))
        если 0, то триггер аллертит.
        А пользовательский макрос можно определить только вручную?
        Last edited by Lurker; 15-01-2024, 22:09.

        Comment

        • Semiadmin
          Senior Member
          • Oct 2014
          • 1625

          #4
          Значение из inventory можно получить в айтем так:
          Создается айтем типа script, в нем - параметр, например model, с макросом {INVENTORY.MODEL} в качестве значения, сам скрипт: return JSON.parse(value).model
          Айтем можно использовать в триггере или сделать singleton LLD, чтобы вообще не создавать триггер для определенных моделей.​

          Comment

          • Lurker
            Member
            • Nov 2016
            • 83

            #5
            Originally posted by Semiadmin
            Значение из inventory можно получить в айтем так:
            Создается айтем типа script, в нем - параметр, например model, с макросом {INVENTORY.MODEL} в качестве значения, сам скрипт: return JSON.parse(value).model
            Айтем можно использовать в триггере или сделать singleton LLD, чтобы вообще не создавать триггер для определенных моделей.​
            Спасибо, это идеальный вариант.

            Comment

            Working...