Ad Widget

Collapse

Оптимизировать триггеры

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • RomanFromNursultan
    Junior Member
    • Jun 2019
    • 21

    #1

    Оптимизировать триггеры

    Доброго дня!
    Имеются выпрямители Eltek Flatpack2. На них, через правило обнаружения, находятся выпрямители, которых может быть от 1 до "много" (6-8). Мне интересна метрика Rectifier Status. Состояние "ок" - 1, "авария" - 2
    На эту метрику повесил прототип триггера "Rectifier {#SNMPINDEX} Status alarm" если возвращается - 2.

    Пытаюсь решить следующее:
    Если выдают аварию несколько выпрямителей из общего их количества, то будет столько же аварий, т.е всего 5 выпрямителей, выдали аварию 3 выпрямителя, то будет 3 события:
    Rectifier 1 Status alarm
    Rectifier 2 Status alarm
    Rectifier 3 Status alarm

    Но, если в случае из 5 выпрямителей все 5 выдают аларм, то срабатывает один триггер "All Rectifier Status alarm".
    Было бы их всегда одинаковое количество, то я бы сделал зависимость триггеров. А так хостов порядка 200к+ и на всех количество разное, как можно одним триггером в шаблоне настроить?
  • Semiadmin
    Senior Member
    • Oct 2014
    • 1625

    #2
    Если возможно получить по SNMP некую метрику, характерную для такого общего сбоя - сделать на нее триггер, а прототип триггера для каждого выпрямителя - зависимым от него. Если нет - тогда только API или прямой запрос в БД Zabbix'a. Считать количество созданных из прототипа триггеров в состоянии ОК и делать триггер на то, что их 0.

    Comment

    • RomanFromNursultan
      Junior Member
      • Jun 2019
      • 21

      #3
      Могу вытащить общее количество инсталированных выпрямителей
      ELTEK-DISTRIBUTED-MIB::rectifierInstalledRectifiers.0 = INTEGER: 7

      Comment

      • Semiadmin
        Senior Member
        • Oct 2014
        • 1625

        #4
        Это, к сожалению, не поможет. Еще можно подождать версию 4.4, может быть, там наконец объединят функционал вычисляемых и агрегированных проверок.

        Comment

        • RomanFromNursultan
          Junior Member
          • Jun 2019
          • 21

          #5
          Можно ли сделать триггер или элемент данных, считающий количество уже сработанных триггеров?

          Comment

          • Semiadmin
            Senior Member
            • Oct 2014
            • 1625

            #6
            API или select в БД Zabbix

            Comment

            • RomanFromNursultan
              Junior Member
              • Jun 2019
              • 21

              #7
              Originally posted by Semiadmin
              API или select в БД Zabbix
              Если делали что-то похожее через API, можете показать? С API не работал еще

              Comment

              • Semiadmin
                Senior Member
                • Oct 2014
                • 1625

                #8
                Именно такой задачи не было, были подобные... Но я тут подумал, что в вашем случае можно поступить гораздо проще.
                Сделать айтем с типом External check, получающий при помощи, например, snmpwalk Rectifier Status для всех выпрямителей хоста сразу. Потом в препроцессинге (регулярками или через js) выяснить, есть ли хоть один в статусе 1. Возвращать 0 или 1 по результатам.

                Comment

                Working...