Ad Widget

Collapse

Инвертирование итема

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • alert.mf
    Junior Member
    • Jul 2015
    • 13

    #1

    Инвертирование итема

    Подскажите, может кто сталкивался, как можно инвертировать значения итема в другой итем ? В веб мониторинге есть стандартный ключ web.test.fail, хочу чтобы был такой же, но типа web.test.ok, и если web.test.fail=0, то web.test.ok=1. Должно быть что-нить вроде вычисляемого итема invert(web.test.fail) ?
  • Zentarim
    Senior Member
    • Mar 2012
    • 526

    #2
    Originally posted by alert.mf
    Подскажите, может кто сталкивался, как можно инвертировать значения итема в другой итем ? В веб мониторинге есть стандартный ключ web.test.fail, хочу чтобы был такой же, но типа web.test.ok, и если web.test.fail=0, то web.test.ok=1. Должно быть что-нить вроде вычисляемого итема invert(web.test.fail) ?
    Интересно, а как надо вычислять invert, скажем, от 123,745 ? Вы можете более точно описать задачу? Тогда вам, возможно, смогут помочь

    Comment

    • alert.mf
      Junior Member
      • Jul 2015
      • 13

      #3
      ну я просто предположил, что вдруг есть какой то аналог "invert", который позволяет использовать логическое 1 или 0. Изначально задача состоит в веб-мониторинге, в сценарии ищется код 200 и zabbix получает значение web.test.time, которое используют пользователи для понимания скорости отдачи. Но когда сервер выдает ошибку, например 502, web.test.time продолжает показывать адекватные данные, разве что скорость отдачи становиться меньше в 2 раза, и возник вопрос, как еще можно это замониторить, тут-то и пришел на ум инверт ключа web.test.fail, типа 1 - все хорошо, 0 - плохо или это костыльно ?)

      Comment

      • Zentarim
        Senior Member
        • Mar 2012
        • 526

        #4
        Originally posted by alert.mf
        ну я просто предположил, что вдруг есть какой то аналог "invert", который позволяет использовать логическое 1 или 0. Изначально задача состоит в веб-мониторинге, в сценарии ищется код 200 и zabbix получает значение web.test.time, которое используют пользователи для понимания скорости отдачи. Но когда сервер выдает ошибку, например 502, web.test.time продолжает показывать адекватные данные, разве что скорость отдачи становиться меньше в 2 раза, и возник вопрос, как еще можно это замониторить, тут-то и пришел на ум инверт ключа web.test.fail, типа 1 - все хорошо, 0 - плохо или это костыльно ?)
        Я мало работал с веб-проверками и, видимо, вас не понимаю:
        "в сценарии ищется код 200 и zabbix получает значение web.test.time"

        "Но когда сервер выдает ошибку, например 502, web.test.time продолжает показывать адекватные данные"

        Это как так, что при поиске явно определенного значения 200 у вас корректно отрабатывает еще и значение 502?

        Comment

        • alert.mf
          Junior Member
          • Jul 2015
          • 13

          #5
          Zabbix честно говорит, что web.test.fail=1, что не находит код 200, что находит 502 ошибку, но тем не менее web.test.time показывает количество мс, потому как на странице содержатся какие-то данные. Если, например, ошибка 504, то web.test.time=0 и все понимают что сервис не работает. Поэтому хочется какого-то однозначного итема

          Comment

          • ArtemK
            Senior Member
            • May 2013
            • 232

            #6
            Так а чем web.test.fail плох, чтобы по нему следить за работоспособностью сайта, или вы по графикам скорости загрузки отслеживаете сайты?

            Comment

            • pzabortsev
              Senior Member
              • Dec 2012
              • 338

              #7
              Я так понял, что в случае получения ответа, отличного от 200 (502, или 504, или еще что), на гравик производительности сервиса попадают "мусорные" значения, которые никого не интересуют, но портят статистику.
              Хочется в случае ошибки не мерять время получение этой ошибки, а получить просто нули, чтобы было видно, что сервис не работает в это время.
              Я прав?

              Comment

              • alert.mf
                Junior Member
                • Jul 2015
                • 13

                #8
                Originally posted by pzabortsev
                Я так понял, что в случае получения ответа, отличного от 200 (502, или 504, или еще что), на гравик производительности сервиса попадают "мусорные" значения, которые никого не интересуют, но портят статистику.
                Хочется в случае ошибки не мерять время получение этой ошибки, а получить просто нули, чтобы было видно, что сервис не работает в это время.
                Я прав?
                Да, абсолютно, если бы при ошибках получались нули, то даже бы не стал смотреть в сторону web.test.fail.

                Originally posted by ArtemK
                Так а чем web.test.fail плох, чтобы по нему следить за работоспособностью сайта, или вы по графикам скорости загрузки отслеживаете сайты?
                Для юзеров повешен график даже, назвал "Ошибки" web.test.fail=0 типа ошибок нет. web.test.fail не плох, но чисто психологически хочется при хорошем стечении обстоятельств иметь 1, а при плохом 0
                Last edited by alert.mf; 28-07-2015, 17:04.

                Comment

                • yukra
                  Senior Member
                  • Apr 2013
                  • 1359

                  #9
                  web.test.time меняет время ответа. Что бы отдать ошибку тоже нужно время.
                  Хотите web.test.good? Сделайте вычисляемый айтем "web.test.good=1-web.test.fail" и будет вам 1, когда web.test.fail=0 и 0 когда web.test.fail=1

                  Comment

                  • alert.mf
                    Junior Member
                    • Jul 2015
                    • 13

                    #10
                    Originally posted by yukra
                    web.test.time меняет время ответа. Что бы отдать ошибку тоже нужно время.
                    Хотите web.test.good? Сделайте вычисляемый айтем "web.test.good=1-web.test.fail" и будет вам 1, когда web.test.fail=0 и 0 когда web.test.fail=1
                    Ух ты действительно просто, сделал 1-last(web.test.fail[])
                    Спасибо!

                    Comment

                    Working...