Ad Widget

Collapse

Часто срабатываение тригера

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • karik-himik
    Senior Member
    • Oct 2015
    • 116

    #16
    Пришла в голову еще идея ) Может бредовая - проверять особенно некогда, по-этому только предположение.
    Что если использовать функцию Суммы значений.
    Логика подсказывает, что сумма значений за две минуты должна быть всегда меньше, чем Максимум, умноженный на 2. Если интервал - 1 минута.

    {Monitoring_App_Asterisk_zabbx_3:iax.peers.sum(120 )}<{Monitoring_App_Asterisk_zabbx_3:iax.peers.max( 12h)}*2

    Или брать сумму не за время по количеству значений (опять же, если интервал - минута):

    {Monitoring_App_Asterisk_zabbx_3:iax.peers.sum(#2) }<{Monitoring_App_Asterisk_zabbx_3:iax.peers.max(1 2h)}*2



    P.S.: Как-то странно вставились пробелы в (12h)
    Last edited by karik-himik; 06-05-2016, 14:30.

    Comment

    • Dorlas
      Member
      • May 2016
      • 31

      #17
      Originally posted by wolf_ktl
      Чу-чуть подправил

      ({Monitoring_App_Asterisk_zabbx_3:iax.peers.max(12 h)}>{Monitoring_App_Asterisk_zabbx_3:iax.peers.las t(180)})and ({Monitoring_App_Asterisk_zabbx_3:iax.peers.max(12 h)}>{Monitoring_App_Asterisk_zabbx_3:iax.peers.las t(60)})and({Monitoring_App_Asterisk_zabbx_3:iax.pe ers.max(12h)}>{Monitoring_App_Asterisk_zabbx_3:iax .peers.last(120)})=1


      Проверяю
      and = &, одно и тоже
      из вашего выражения последние действительное значение не участвует, а именно триггер будет работать на минуту дольше чем есть ошибка, допустим 4 минуты назад всё было хорошо, 3,2 и 1 минута назад были ошибки, а в настоящий момент у вас уже нет ошибки, но триггер сработает!

      Comment

      • Dorlas
        Member
        • May 2016
        • 31

        #18
        Originally posted by karik-himik
        Пришла в голову еще идея ) Может бредовая - проверять особенно некогда, по-этому только предположение.
        Что если использовать функцию Суммы значений.
        Логика подсказывает, что сумма значений за две минуты должна быть всегда меньше, чем Максимум, умноженный на 2. Если интервал - 1 минута.

        {Monitoring_App_Asterisk_zabbx_3:iax.peers.sum(120 )}<{Monitoring_App_Asterisk_zabbx_3:iax.peers.max( 12h)}*2

        Или брать сумму не за время по количеству значений (опять же, если интервал - минута):

        {Monitoring_App_Asterisk_zabbx_3:iax.peers.sum(#2) }<{Monitoring_App_Asterisk_zabbx_3:iax.peers.max(1 2h)}*2



        P.S.: Как-то странно вставились пробелы в (12h)
        Это по сути тоже самое что и AVG - среднее значение, в данном случае не корректно использовать, т.к. может сработать ложно при первой же ошибки.
        Пример, last(#2)=max(12h), last(#1)<max(12h), из этого следует что sum(#2) будет меньше 2*max(12h)

        Comment

        • karik-himik
          Senior Member
          • Oct 2015
          • 116

          #19
          last(#2)=max(12h), last(#1)<max(12h), из этого следует что sum(#2) будет меньше 2*max(12h)

          Хм...
          А если подставить числа для примера:
          max(12h) = 100
          last#2 = 100
          last#1 = 99

          sum(#2) = 199 , а max(12h) = 200

          Даже если самое последнее значение будет на много больше последнего максимума, то при пересчете триггера это значение и станет новым максимумом

          max(12h) = 200
          last#2 = 100
          last#1 = пусть хоть 1500

          При пересчете триггера max(12h) станет уже 1500 и получится
          1600 < 3000

          Главное определиться с интервалом и в соответствии с этим выбрать сколько значений суммировать и на сколько умножать максимум.


          P.S: avg всё-таки будет выдавать немного другие значения

          Comment

          • karik-himik
            Senior Member
            • Oct 2015
            • 116

            #20
            Всё, понял где ошибка.

            Если значение увеличится, то триггер всё равно сработает

            max(12h) = 100
            last#2 = 100
            last#1 = 101

            При пересчете max станет 101
            И получится

            100+101 = 201 < 101*2 = 202

            Блин... а мне так нравилась моя идея ))
            Эх...

            Comment

            • Dorlas
              Member
              • May 2016
              • 31

              #21
              Originally posted by karik-himik
              last(#2)=max(12h), last(#1)<max(12h), из этого следует что sum(#2) будет меньше 2*max(12h)

              Хм...
              А если подставить числа для примера:
              max(12h) = 100
              last#2 = 100
              last#1 = 99

              sum(#2) = 199 , а max(12h) = 200

              Даже если самое последнее значение будет на много больше последнего максимума, то при пересчете триггера это значение и станет новым максимумом

              max(12h) = 200
              last#2 = 100
              last#1 = пусть хоть 1500

              При пересчете триггера max(12h) станет уже 1500 и получится
              1600 < 3000

              Главное определиться с интервалом и в соответствии с этим выбрать сколько значений суммировать и на сколько умножать максимум.


              P.S: avg всё-таки будет выдавать немного другие значения
              Вот вы подставили числа и в любом случае вы получаете срабатывания триггера, хотя в данных выражениях не должно сработать.
              Даже часто будет ложное срабатывание при добавления "транка"!!!
              Пример: идёт всё ровно без ошибок. last(#1+n)=max(12h)=100, вдруг добавили "транк" и last(#1)=101, получаем last(#1) + last(#2)= 100 + 101=201, в тоже время 2*max(12h)=202, получаем ложное срабатывание!!! хотя всё так же идёт ровно и без сбоев, только максимум за 12 часов увеличился!!! аналогичная ситуация и с avg получим, только цифры другие будут, при тех же вводных avg = 100.5 что меньше максимума, а значит такой вариант никак нельзя использовать из за ложного срабатывания...

              Comment

              • karik-himik
                Senior Member
                • Oct 2015
                • 116

                #22
                Originally posted by karik-himik
                Всё, понял где ошибка.
                Если значение увеличится, то триггер всё равно сработает
                Я ведь тоже самое написал )

                Comment

                • wolf_ktl
                  Junior Member
                  • Mar 2016
                  • 20

                  #23
                  Нашел решение

                  ({Monitoring_App_Asterisk_zabbx_3:iax.peers.max(12 h)}>{Monitoring_App_Asterisk_zabbx_3:iax.peers.las t(#1)})and ({Monitoring_App_Asterisk_zabbx_3:iax.peers.max(12 h)}>{Monitoring_App_Asterisk_zabbx_3:iax.peers.las t(#2)})and
                  ({Monitoring_App_Asterisk_zabbx_3:iax.peers.max(12 h)}>{Monitoring_App_Asterisk_zabbx_3:iax.peers.las t(#3)})and
                  ({Monitoring_App_Asterisk_zabbx_3:iax.peers.max(12 h)}>{Monitoring_App_Asterisk_zabbx_3:iax.peers.las t(#4)})and
                  ({Monitoring_App_Asterisk_zabbx_3:iax.peers.max(12 h)}>{Monitoring_App_Asterisk_zabbx_3:iax.peers.las t(#5)})=1

                  Т.к значение опрашивается каждую минуту, то тригер сработает через 5 мин .. если все будет плохо

                  Comment

                  Working...