Ad Widget

Collapse

Триггер для повторяющихся eventid

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • carassin
    Junior Member
    • Sep 2019
    • 4

    #1

    Триггер для повторяющихся eventid

    Здравствуйте. С Заббиксом только начал знакомиться. Вопрос наверное простой. Есть к примеру такой триггер {My-HOST:eventlog[System,,,,111|222|333|444|555].count(1m)}>1 , кот. срабатывает если любой из указанных eventid повторяется 2 и более раз в течении минуты. Можно ли как-то научить Заббикс чтобы триггер срабатывал только на повторяющиеся номера id ? Ну то есть логика следующая - зажигать триггер если в течении минуты возникает два и более события И eventid у них одинаковый. В идеале триггер должен выглядеть вообще без перечисления eventid {My-HOST:eventlog[System,,,,].count(1m)}>1
    Поиск к сожалению результатов не дал. Уже какой день мучаюсь. Пните пожалуйста в нужную сторону. Спасибо.
  • Semiadmin
    Senior Member
    • Oct 2014
    • 1625

    #2
    Думаю, для этого придется разбить айтем eventlog[System,,,,111|222|333|444|555] на несколько (eventlog[System,,,,111], eventlog[System,,,,222] etc) и для каждого из них сделать свой триггер.

    Comment

    • carassin
      Junior Member
      • Sep 2019
      • 4

      #3
      Прошу прощения за назойливость. В продолжении темы..
      А умеет Заббикс вообще искать и срабатывать на повторяющиеся значения в течении опр. интервала времени ? Ну примерно так - Заббикс получает в качестве значений различные числа, которые хаотичны но время от времени могут повторяться, соответственно если в течении опр. промежутка их больше/равно, то делать вкл.
      Если это возможно подскажите куда смотреть (с небольшим примером если не затруднит). Спасибо
      Last edited by carassin; 30-10-2019, 13:38.

      Comment

      • Semiadmin
        Senior Member
        • Oct 2014
        • 1625

        #4
        Смотреть надо в сторону триггерной функции count, в доке есть несколько примеров

        Comment

        • carassin
          Junior Member
          • Sep 2019
          • 4

          #5
          Это первое что я делал, но count срабатывал на все значения, потом дополнил diff-ом и пока остановился на этом

          {Template OS Windows Active Log:eventlog[System,,@LogSev,@LogSrc,,,skip].count(10m)}>1
          and
          {Template OS Windows Active Log:eventlog[System,,@LogSev,@LogSrc,,,skip].diff()}=0

          Но diff это два последних одинаковых, а мне надо все одинаковые за время.

          Comment

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

            #6
            Originally posted by Semiadmin
            Смотреть надо в сторону триггерной функции count, в доке есть несколько примеров
            Функция count() хороша, когда надо подсчитать что-то заранее известное. Если я правильно понял автора этой темы, то он хотел бы решать задачу в общем виде - т.е. когда вообще заранее неизвестно, какие именно значения могут прийти, но если изрядное количество из них повторяются между собой - то тогда слать уведомления.
            Боюсь, что в такой формулировке штатными средствами задача не решается, хотя пример получается довольно интересный.
            Более того, дело осложняется тем, что интересующие значения - это EventID, которые можно либо фильтровать "на входе" (т.е. явно указывая параметром в ключе элемента данных), либо читать триггерной функцией logeventid() (но тогда можно проверять лишь последнее полученное значение) :-(

            Comment

            • carassin
              Junior Member
              • Sep 2019
              • 4

              #7
              Спасибо всем за участие. Попробую наваять скриптик и прикрутить его к UserParameter

              Comment

              • Semiadmin
                Senior Member
                • Oct 2014
                • 1625

                #8
                Если не надо отслеживать именно последовательность проблем, а просто считать количество событий с одинаковым eventid за интервал времени, то, сделав отдельный айтем типа eventlog для каждого eventid, можно считать количество событий за период при помощи count, или в триггере, или в вычисляемом айтеме. Получится некое подобие log.count для eventlog.

                Comment

                Working...