Ad Widget

Collapse

Мониторинг пропускной способности комм&a

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • sadman
    Senior Member
    • Dec 2010
    • 1611

    #16
    Каков период получения данных в ЭД? Триггер, как я помню, пересчитывается при получении новых данных, а не сам по себе. Тем более, если он построен на простом last().

    По поводу гистерезиса - неправильно. Представьте себе, что будет у вас с триггером, если скорость будет скакать в пределах 99..101.

    Вот вам ссылочка для понимания сути гистерезиса: http://radiostorage.net/?area=news/1961

    На странице с выражением триггера есть ссылка Expression constructor - с ее помощью можно построить правильную конструкцию.
    Last edited by sadman; 17-09-2015, 08:44.

    Comment

    • malcolm
      Junior Member
      • Sep 2015
      • 11

      #17
      период получения данных - 10 секунд

      Comment

      • sadman
        Senior Member
        • Dec 2010
        • 1611

        #18
        Originally posted by malcolm
        период получения данных - 10 секунд
        Должно скидываться. Уверены, что 100 - не слишком малое число для триггера? В Latest Data какого порядка числа имеются - бывают <100?

        Comment

        • malcolm
          Junior Member
          • Sep 2015
          • 11

          #19
          да, уверен. там пересчет идет в мегабайты. поэтому тут предел - 100 мегабайт. почитал тему про гистерезис на мою версию заббикса. немного синтаксис изменился.
          вот такое выражение он скушал:
          ({TRIGGER.VALUE}=0 and {D-Link DES-3028:IfInOctets.last()}>100) or
          ({TRIGGER.VALUE}=1 and {D-Link DES-3028:IfInOctets.last()}<100)

          но я все равно не понимаю, что значит {TRIGGER.VALUE}=0 и 1?
          он переходит в состояние проблема при =0 и в состояние "ок" при =1?

          Comment

          • sadman
            Senior Member
            • Dec 2010
            • 1611

            #20
            Originally posted by malcolm
            ({TRIGGER.VALUE}=0 and {D-Link DES-3028:IfInOctets.last()}>100) or
            ({TRIGGER.VALUE}=1 and {D-Link DES-3028:IfInOctets.last()}<100)
            но я все равно не понимаю, что значит {TRIGGER.VALUE}=0 и 1?
            он переходит в состояние проблема при =0 и в состояние "ок" при =1?
            Это читается так: "Триггер считается сработавшим, если он еще не активен и IfInOctets > 100 или уже активен и IfInOctets < 100".

            Пока вторая часть выражения дает лог. 1 - триггер не скидывается.

            Кстати, 10 сек - это слишком как-то. Ставьте 30 что ли... Иначе базу забьете и коммутатору CPU перегрузите.

            Comment

            • malcolm
              Junior Member
              • Sep 2015
              • 11

              #21
              понял. спасибо. но как в таком случае сказать триггеру, чтоб он снова перешел в состояние "не сработавшего", если он был в состоянии "сработавшего"?

              Comment

              • sadman
                Senior Member
                • Dec 2010
                • 1611

                #22
                Originally posted by malcolm
                понял. спасибо. но как в таком случае сказать триггеру, чтоб он снова перешел в состояние "не сработавшего", если он был в состоянии "сработавшего"?
                Подобрать выражение триггера так, чтобы оно при вычислении дало логический 0. Других путей я не знаю.

                Comment

                • malcolm
                  Junior Member
                  • Sep 2015
                  • 11

                  #23
                  Вот что-то типа такого?
                  ({D-Link DES-3028:IfInOctets.last()}>100)<>0

                  Ситуация 1:
                  пришло 120 мегабайт
                  120>100 = 1
                  1 <> 0 = 1 - триггер сработал

                  Ситуация 2:
                  пришло 90 мегабайт
                  90>100 = 0
                  0 <> 0 = 0 - триггер не сработал

                  Comment

                  • Zentarim
                    Senior Member
                    • Mar 2012
                    • 526

                    #24
                    Originally posted by malcolm
                    Вот что-то типа такого?
                    ({D-Link DES-3028:IfInOctets.last()}>100)<>0

                    Ситуация 1:
                    пришло 120 мегабайт
                    120>100 = 1
                    1 <> 0 = 1 - триггер сработал

                    Ситуация 2:
                    пришло 90 мегабайт
                    90>100 = 0
                    0 <> 0 = 0 - триггер не сработал
                    Так, конечно, можно. Но вы по каждому чиху будете сообщения получать, так как возможны кратковременные всплески трафика.
                    Вот пример:
                    Code:
                    {HOST:IFACE_IfInBits.avg(#4)}>{$MAX_CHANNEL}*0.9 or {HOST:IFACE_IfoutBits.avg(#4)}>{$MAX_CHANNEL}*0.9
                    Если среднее значение от последних 4 шагов измерений превышает 90% от максимальной скорости канала, то триггер включен. Если значение меньше, то, соответственно, триггер выключен.

                    Comment

                    • malcolm
                      Junior Member
                      • Sep 2015
                      • 11

                      #25
                      большое спасибо. я попробую с вашим вариантом

                      Comment

                      Working...