Ad Widget

Collapse

Agent.nodata не работает

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Spec
    Member
    • Apr 2014
    • 37

    #1

    Agent.nodata не работает

    Столкнулся с проблемой, тригер {vld-1c:agent.ping.sum(30)}=0 не работает.
    Т.е. пока агент включен данные идут (1).
    Я отключаю агент. Данных нет.
    График по этим данным тоже обрывается, но тригер не срабатывает.
    Причем в графике в раздеах Min, Max, Avg, Last везде 1, хотя по факту последнее значение должно быть 0.


    У меня несколько серверов и везде это работает одинаково.

    Версия Zabbix - 22
    Серверы под управлением Windows
  • rekby
    Member
    • Jul 2010
    • 91

    #2
    Триггеры пересчитываются только при поступлении данных - т.е. как у вас новй пинг поступит - триггер пересчитается.

    Чтобы сделать триггер на отсутствие данных нужно использовать одну из функций времени, вроде nodata()


    Например можно сделать так:
    vld-1c:agent.ping.nodata(30)=0
    Last edited by rekby; 08-04-2014, 09:09.

    Comment

    • Spec
      Member
      • Apr 2014
      • 37

      #3
      Originally posted by rekby
      Триггеры пересчитываются только при поступлении данных - т.е. как у вас новй пинг поступит - триггер пересчитается.

      Чтобы сделать триггер на отсутствие данных нужно использовать одну из функций времени, вроде nodata()


      Например можно сделать так:
      Vld-1c:agent.ping.nodata(30)=0
      У меня используется именно такой триггер как вы описали.
      (он вообще дефолтовый в шаблоне)

      Comment

      • rekby
        Member
        • Jul 2010
        • 91

        #4
        В примере с описанием проблемы приведен другой:
        {vld-1c:agent.ping.sum(30)}=0

        .nodata() точно работает - им я думаю каждый первый пользуется, более того он работает на стороне сервера и от агента не зависит.
        по графикам - агент присылает только 1.

        Если данных нет, то их просто нет, а не значение 0, так что среднее и минимальное тоже получаются 1.

        Comment

        • Spec
          Member
          • Apr 2014
          • 37

          #5
          Originally posted by rekby
          В примере с описанием проблемы приведен другой:
          {vld-1c:agent.ping.sum(30)}=0

          .nodata() точно работает - им я думаю каждый первый пользуется, более того он работает на стороне сервера и от агента не зависит.
          по графикам - агент присылает только 1.

          Если данных нет, то их просто нет, а не значение 0, так что среднее и минимальное тоже получаются 1.
          Спасибо за разъяснение.
          Извиняюсь за глупый вопрос. Видимо усталось сказалась.
          Тему можно закрывать.

          Comment

          • Spec
            Member
            • Apr 2014
            • 37

            #6
            Originally posted by Spec
            Спасибо за разъяснение.
            Извиняюсь за глупый вопрос. Видимо усталось сказалась.
            Тему можно закрывать.
            Пока не закрыли тему еще 1 вопрос. Почему когда я отключаю агента на сервере, график все равно идет равный 1??? Т.е. разницы на графике не видно никакой когда агент включен и когда выключен. (график строится по ключу agent.ping

            Comment

            • rekby
              Member
              • Jul 2010
              • 91

              #7
              Всё по тому же - когда агент выключен то нет значения 0 для изменения графика и еще некоторое время просто рисуется последнее полученное значение или среднее между двумя полученными - если агент снова включен. Если агента выключить надолго - график в этом месте просто прервется, как и все остальные графики. При измении масштаба дырка может снова пропасть.

              Если нужно рисовать график uptime или вычислять среднее время работы хоста или что-то в этом роде - воспользуйтесь функцией nodata(сколько-то секунд) - эта функция выдает значения и 1 (когда данных нет) и 0, когда данные есть.

              Comment

              • yukra
                Senior Member
                • Apr 2013
                • 1359

                #8
                Originally posted by spec
                Пока не закрыли тему еще 1 вопрос. Почему когда я отключаю агента на сервере, график все равно идет равный 1??? Т.е. разницы на графике не видно никакой когда агент включен и когда выключен. (график строится по ключу agent.ping
                График для визуализации данных. Ищите нужный хост через поиск, ссылка "последние данные", ссылка "График" рядом с нужным айтемом, справа сверху измените "график" на "последние 500 значений" и будет ваш счастье.

                Comment

                • Spec
                  Member
                  • Apr 2014
                  • 37

                  #9
                  Originally posted by rekby
                  В примере с описанием проблемы приведен другой:
                  {vld-1c:agent.ping.sum(30)}=0

                  .nodata() точно работает - им я думаю каждый первый пользуется, более того он работает на стороне сервера и от агента не зависит.
                  по графикам - агент присылает только 1.

                  Если данных нет, то их просто нет, а не значение 0, так что среднее и минимальное тоже получаются 1.
                  Сделал вот такой триггер {vld-1c:agent.ping.nodata(5)}=0.
                  Выше вы писали что он работает на стороне сервера и от агента не зависит. А как проверить его работу? Только физически выдернуть сетевой шнур в сервере или отключить сервере?

                  Comment

                  • rekby
                    Member
                    • Jul 2010
                    • 91

                    #10
                    Триггеры вообще всегда на сервере работают, но проверяют они данные. В данном случае проверяется отсутствие данных от агента.

                    Т.е. просто выключите агента. Данные перестанут поступать и триггер сработает.

                    Comment

                    • Spec
                      Member
                      • Apr 2014
                      • 37

                      #11
                      Originally posted by rekby
                      Триггеры вообще всегда на сервере работают, но проверяют они данные. В данном случае проверяется отсутствие данных от агента.

                      Т.е. просто выключите агента. Данные перестанут поступать и триггер сработает.
                      Пробовал. Не срабатывает тригер. В этом и проблема. Отключаю агент и никакой реакции. Вот тригер: {vld-1c:agent.ping.nodata(5)}=0

                      Comment

                      • yukra
                        Senior Member
                        • Apr 2013
                        • 1359

                        #12
                        Originally posted by Spec
                        Пробовал. Не срабатывает тригер. В этом и проблема. Отключаю агент и никакой реакции. Вот тригер: {vld-1c:agent.ping.nodata(5)}=0

                        nodata sec any
                        Returns:
                        1 - if no data received during period of time in seconds. The period should not be less than 30 seconds.
                        0 - otherwise
                        Сделайте
                        Code:
                        {vld-1c:agent.ping.nodata(30)}=1
                        , выключите агент, подождите item update interaval и проверьте.
                        Last edited by yukra; 11-04-2014, 06:11.

                        Comment

                        • Spec
                          Member
                          • Apr 2014
                          • 37

                          #13
                          Originally posted by yukra
                          https://www.zabbix.com/documentation...gers/functions


                          Сделайте
                          Code:
                          {vld-1c:agent.ping.nodata(30)}=1
                          , выключите агент, подождите item update interaval и проверьте.
                          Сделал, выключил агент, подождал. Ничего не происходит.
                          Last edited by Spec; 11-04-2014, 09:13.

                          Comment

                          • yukra
                            Senior Member
                            • Apr 2013
                            • 1359

                            #14
                            Originally posted by spec
                            Сделал, выключил агент, подождал. Ничего не происходит.
                            Пишите багрепорты.
                            Attached Files

                            Comment

                            • Jimson
                              Senior Member
                              • Jan 2008
                              • 1327

                              #15
                              Originally posted by yukra
                              Пишите багрепорты.
                              Да сидит второй активный агент с таким же hostname и продолжает слать этот agent.ping. Проверяется заглядыванием в "последние 500 значений" этого элемента данных.

                              Comment

                              Working...