Ad Widget

Collapse

Как zabbix мониторит хосты в самом простом случ

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Plohish
    Junior Member
    • Aug 2011
    • 28

    #1

    Как zabbix мониторит хосты в самом простом случ

    Здравствуйте господа, я начинающий пользователь, вчера поставил zabbix, пытаюсь разбираться.

    Возник небольшой вопрос, допустим я хочу мониторить хост, БЕЗ установки SNMP, агента и прочих вспомогательных вещей. До использования zabbix, я это делал запуская из cron один небольшой скрипт, который пинговал хост, но делал он это очень хитро:
    Раз в минуту, скрипт посылал 7 (ну или другое количество, как сам пожелаешь) пакетов пинга на хост, и только в случае, если все 7 пакетов не проходили, поднимал тревогу.

    В связи с этим, мне хочется понять как это делает zabbix? Если тупо после пропадания первого же пакета, то это меня как то не устраивает... Будет много ложных срабатываний...


    Заранее спасибо за ответ.
  • Melanxolik
    Senior Member
    • Nov 2009
    • 174

    #2
    да кто мешает использовать этот же скрипт только уже его результаты обрабатывать забихом?

    Comment

    • Plohish
      Junior Member
      • Aug 2011
      • 28

      #3
      Originally posted by Melanxolik
      да кто мешает использовать этот же скрипт только уже его результаты обрабатывать забихом?
      скрипт написан на bash, zabbix поймёт его?
      да и как бы опыта маловато... пока ещё... как подставлять скрипты, и при помощи их что то делать, не знаю...

      Да и просто хотелось бы узнать, как zabbix это делает, сам...

      Comment

      • dima_dm
        Senior Member
        • Dec 2009
        • 2697

        #4
        Originally posted by Plohish
        Раз в минуту, скрипт посылал 7 (ну или другое количество, как сам пожелаешь) пакетов пинга на хост, и только в случае, если все 7 пакетов не проходили, поднимал тревогу.
        Элементарно. Нужно настроить триггеры
        {host:icmpping.max(90)}=0
        за последние 90 секунд все ping не прошли
        {host:icmpping.max(#5)}=0
        за последние 5 попыток все ping не прошли

        Comment

        • Plohish
          Junior Member
          • Aug 2011
          • 28

          #5
          Пасиба добрый прынц!
          Оказывается всё очень просто...

          Надо изучать zabbix и выкидывать доморощенные скрипты и cacti

          Comment

          • Plohish
            Junior Member
            • Aug 2011
            • 28

            #6
            Originally posted by dima_dm
            Элементарно. Нужно настроить триггеры
            {host:icmpping.max(#5)}=0
            за последние 5 попыток все ping не прошли

            Дима, извините пожалуйста, не могли бы вы разъяснить, я прописал в тригере
            {host:icmpping.max(#10)}=0
            в результате получаю срабатывание тригера приблизительно в течении минуты после начала события. Во первых пугает "приблизительность"... плюс минус 15-20 секунд... во вторых мне думается что 10 попыток пига, это далеко не минута а гораздо меньше, если рассматривать "попытку" как посылку одного пакета... Или я ошибаюсь в чём то? Что подразумевается под "попыткой пинга" ?

            Comment

            • dima_dm
              Senior Member
              • Dec 2009
              • 2697

              #7
              Originally posted by Plohish
              Дима, извините пожалуйста, не могли бы вы разъяснить, я прописал в тригере
              {host:icmpping.max(#10)}=0
              в результате получаю срабатывание тригера приблизительно в течении минуты после начала события. Во первых пугает "приблизительность"... плюс минус 15-20 секунд... во вторых мне думается что 10 попыток пига, это далеко не минута а гораздо меньше, если рассматривать "попытку" как посылку одного пакета... Или я ошибаюсь в чём то? Что подразумевается под "попыткой пинга" ?
              Интервалы опросов задаются в Item icmpping.
              Т.к. для icmpping запускается программа с ключами /usr/sbin/fping -q -C3, т.е. один опрос icmpping это отправка 3 пакетов.
              Т.е. если опрос icmpping идёт каждые 30 секунд, то триггер {host:icmpping.max(90)}=0 вернёт 0, если за 3 попытки по 3 icmp пакета, т.е. на все 9 icmp пакетов не было получено ответа. Если будет хотя бы один ответ, то значение триггера будет 1.
              Аналогично работает {host:icmpping.max(#3)}=0 вернёт 0, если за 3 попытки по 3 icmp пакета, т.е. на все 9 icmp пакетов не было получено ответа.
              P.S. Если у вас опрос Item идёт слишком часто, сервер может не успевать выполнять проверки, то возможны пропуски, посмотрите по истории.
              Last edited by dima_dm; 22-08-2011, 12:43.

              Comment

              • Plohish
                Junior Member
                • Aug 2011
                • 28

                #8
                спасибо за развёрнутый ответ

                Comment

                • dimugric
                  Member
                  • Apr 2013
                  • 59

                  #9
                  И я свой вопрос задам...
                  Есть у меня триггер на пинг {Ping_loss:icmppingsec[].last(90)}=0 (правда через icmpingsec)
                  Отрабатывается моментально, как пропадает пинг до хоста, а хотелось бы чтоб он сек 60-90 попинговал ещё, мало ли. Подскажите как исправить и что не так?

                  Comment

                  • dima_dm
                    Senior Member
                    • Dec 2009
                    • 2697

                    #10
                    Originally posted by dimugric
                    И я свой вопрос задам...
                    Есть у меня триггер на пинг {Ping_loss:icmppingsec[].last(90)}=0 (правда через icmpingsec)
                    Отрабатывается моментально, как пропадает пинг до хоста, а хотелось бы чтоб он сек 60-90 попинговал ещё, мало ли. Подскажите как исправить и что не так?
                    Точно так же
                    {Ping_loss:icmppingsec[].max(90)}=0
                    В функции last(90), параметр сек игнорируется, читайте документацию.

                    Comment

                    • dimugric
                      Member
                      • Apr 2013
                      • 59

                      #11
                      Originally posted by dima_dm
                      Точно так же
                      {Ping_loss:icmppingsec[].max(90)}=0
                      В функции last(90), параметр сек игнорируется, читайте документацию.
                      https://www.zabbix.com/documentation...gers/functions
                      Да, по поводу игнорирования был не в курсе. Но поправьте меня в чем я не прав. Например, триггер:
                      {Ping_loss:icmppingsec[].last(0)}=0 должен сработать, когда значение пинга будет 0ms, т.е. пинг отвалится -так было у меня и суть в том, чтоб триггер сработал именно при нуле, но только после того как попингует некоторое время (или некоторое кол-во пакетов покидает). Иногда бывает, что пропадёт пакет - тогда триггер сработает. Так если игнорится время, как мне задать параметр числа пекетов хотя бы до отработки триггера?
                      {Ping_loss:icmppingsec[].last(#10)}=0
                      Так чем в этом случае 10 будет? Читаю ман по last, но никак не догоню

                      Comment

                      • dima_dm
                        Senior Member
                        • Dec 2009
                        • 2697

                        #12
                        Originally posted by dimugric
                        Да, по поводу игнорирования был не в курсе. Но поправьте меня в чем я не прав. Например, триггер:
                        {Ping_loss:icmppingsec[].last(0)}=0 должен сработать, когда значение пинга будет 0ms, т.е. пинг отвалится -так было у меня и суть в том, чтоб триггер сработал именно при нуле, но только после того как попингует некоторое время (или некоторое кол-во пакетов покидает). Иногда бывает, что пропадёт пакет - тогда триггер сработает. Так если игнорится время, как мне задать параметр числа пекетов хотя бы до отработки триггера?
                        {Ping_loss:icmppingsec[].last(#10)}=0
                        Так чем в этом случае 10 будет? Читаю ман по last, но никак не догоню
                        last(#10) - это 10-е с конца значения item.
                        При использовании функции max(#10) - вычислит максимальное значение из 10-ти последних значений Item. Т.к. значения item не может быть отрицательным, то все 10 последних значений были 0. Что и требовалось.

                        Comment

                        • dimugric
                          Member
                          • Apr 2013
                          • 59

                          #13
                          Originally posted by dima_dm
                          last(#10) - это 10-е с конца значения item.
                          При использовании функции max(#10) - вычислит максимальное значение из 10-ти последних значений Item. Т.к. значения item не может быть отрицательным, то все 10 последних значений были 0. Что и требовалось.
                          Отлично!
                          Т.е. мне смело можно юзать триггер {Ping_loss:icmppingsec[].max(#10)}=0
                          Верно?

                          Comment

                          • dima_dm
                            Senior Member
                            • Dec 2009
                            • 2697

                            #14
                            Originally posted by dimugric
                            Отлично!
                            Т.е. мне смело можно юзать триггер {ping_loss:icmppingsec[].max(#10)}=0
                            Верно?
                            Да, Верно

                            Comment

                            • dimugric
                              Member
                              • Apr 2013
                              • 59

                              #15
                              Originally posted by dima_dm
                              Да, Верно
                              Дим, спасибо Вам огромное, и за терпение в том числе
                              Вроде изучаю, но пока как свинья в апельсинах с этими триггерами

                              Comment

                              Working...