Ad Widget

Collapse

Zabbix 3.0 Отваливаются внешние активные агенты

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • phaeton
    Junior Member
    • Apr 2016
    • 7

    #1

    Zabbix 3.0 Отваливаются внешние активные агенты

    Доброго времени суток!
    Уже много времени борюсь с проблемой.
    Есть 4 внешних сервера Windows. На них стоят активные агенты, которые передают данные на Zabbix 3, установленный за NAT. В NAT проброшены порты 10050 и 10051 на собственно сервер Zabbix, который в свою очередь вертится на виртуалке ESXI 5.5. Базовая ОС для Zabbix - Debian 8 x64, 2 CPU, 3 GB RAM. ОС и Zabbix установлены "с нуля" из репозитория.
    От виртуалки до NAT 1Gbit, Интернет канал 30MBit.
    Проблема заключается в том, что периодически, правда период нестабилен, отваливаются агенты и Zabbix выдает сообщение: More than 100 items having missing data for more than 10 minutes.
    По графику Zabbix Server Perfomance виден резкий "заброс" Zabbix Queue.
    Иногда, редко, все приходит в норму само, чаще приходится рестартовать сервис Zabbix.
    Подскажите пожалуйста, как можно решить проблему.
  • sadman
    Senior Member
    • Dec 2010
    • 1611

    #2
    Вот такая история?


    Если да, то иного выхода я не нашел, кроме как увеличить время опроса и перевести часть элементов данных на пассивные проверки.

    Comment

    • phaeton
      Junior Member
      • Apr 2016
      • 7

      #3
      Да. Очень похоже.
      Однако не могу перевести на пассивные проверки, потому как и сервер и клиенты общаются через интернет и оба за NAT. Т.е. Сервер не может самостоятельно опрашивать агенты. Схема такая: Winagent -> NAT -> Internet -> NAT -> Сервер Zabbix.
      поставить прокси на стороне клиента тоже нет возможности. Там даже не спец сервер а просто мощный компьютер в роли сервера с Win 2008 на борту.

      Comment

      • sadman
        Senior Member
        • Dec 2010
        • 1611

        #4
        Originally posted by phaeton
        Да. Очень похоже.
        Однако не могу перевести на пассивные проверки, потому как и сервер и клиенты общаются через интернет и оба за NAT.
        Это всё понятно, но такова, видимо, архитектура агента - активные проверки идут по очереди, а не параллельно.
        К слову - у меня есть Zabbix, который на CubieTruck крутится. Не исключаю, что и на каком-нибудь Raspberry Pi можно собрать Proxy.

        Но если проблемы начинаются не сразу, а в какие-то периоды - стоит покопать в сторону сопутствующих событий и попытаться выяснить, что начинает тормозить агента. Возможно какой-то GWMI подвешивается или ещё какая беда.

        Comment

        • phaeton
          Junior Member
          • Apr 2016
          • 7

          #5
          К сожалению для прокси на малинке денежек нет и не будет (.
          А с агентами придется копить статистику. Хотя предварительно можно сказать, что падает все вечером или в ночь.
          Вот примерно параметры мониторинга, их удалось накопать в интернете.

          ##############SMARTMON
          UserParameter=uHDD[*], for /F "tokens=10" %a in ('c:\smartmontools\bin\smartctl.exe -A $1 ^| find "$2"') do @echo %a
          UserParameter=uHDD.health.[*], for /F "tokens=6" %a in ('c:\smartmontools\bin\smartctl.exe -H $1 ^| find "test"') do @echo %a
          UserParameter=uHDD.model.[*],for /F "tokens=3*" %a in ('c:\smartmontools\bin\smartctl.exe -i $1 ^| find "Device Model"') do @echo %a %b
          UserParameter=uHDD.sn.[*],for /F "tokens=3" %a in ('c:\smartmontools\bin\smartctl.exe -i $1 ^| find "Serial Number"') do @echo %a
          UserParameter=uHDD.errorlog.[*], for /F "tokens=4" %a in ('c:\smartmontools\bin\smartctl.exe -l error $1 ^| find "ATA Error Count"') do @echo %a
          UserParameter=uHDD.discovery,powershell -NoProfile -ExecutionPolicy Bypass -File "C:\Zabbix\smartctl-disks-discovery.ps1"

          А это скрипт:
          $smartctl = "c:\smartmontools\bin\smartctl.exe"

          if ((Get-Command $smartctl -ErrorAction SilentlyContinue) -eq $null)
          {
          write-host "Unable to find smartctl"
          exit
          }

          $disks = GET-WMIOBJECT -query "SELECT * from win32_diskdrive"
          $idx = 0

          [char[]] $abc_array = ([char]'a'..[char]'z')

          write-host "{"
          write-host " `"data`":[`n"
          foreach ($disk in $disks)
          {

          $smartctl_disk_name = "/dev/hd" + $abc_array[$idx]
          $smart_enabled = & $smartctl "-i" $smartctl_disk_name | select-string "SMART.+Enabled$"

          if($smart_enabled) {
          $smart_enabled = 1
          } else {
          $smart_enabled = 0
          }


          if ($idx -lt $disks.Count-1)
          {
          $line= "`t{`n " + "`t`t`"{#DISKNAME}`":`""+$smartctl_disk_name+" `""+ ",`n" + "`t`t`"{#SMART_ENABLED}`":`""+$smart_enabled+" `"" +"`n`t},`n"
          write-host $line
          }
          elseif ($idx -ge $disks.Count-1)
          {

          $line= "`t{`n " + "`t`t`"{#DISKNAME}`":`""+$smartctl_disk_name+" `""+ ",`n" + "`t`t`"{#SMART_ENABLED}`":`""+$smart_enabled+" `"" +"`n`t}"
          write-host $line
          }
          $idx++;
          }
          write-host
          write-host " ]"
          write-host "}"

          Может тут где ошибка?

          Comment

          • sadman
            Senior Member
            • Dec 2010
            • 1611

            #6
            В очереди видно, какие элементы данных подвисают - связаны они с discovery (uHDD.discovery) или с иными UserParameter? По зависшему элементу данных вычисляйте область торможения. Может и не в этих smartctl дело-то...

            Comment

            • phaeton
              Junior Member
              • Apr 2016
              • 7

              #7
              Беда в том, что после зависания меню очереди не открывается.
              Зависает намертво. Говорит что-то типа сервер не отвечает более 3х секунд...

              Comment

              • sadman
                Senior Member
                • Dec 2010
                • 1611

                #8
                Originally posted by phaeton
                Беда в том, что после зависания меню очереди не открывается.
                Зависает намертво. Говорит что-то типа сервер не отвечает более 3х секунд...
                Так агент теряет данные или сервер подвешивается? Этак выяснится, что всё из-за битых винтов.

                По серверу смотрите Internal Process busy - не хаускипер-ли в кому укладывает?

                Comment

                • phaeton
                  Junior Member
                  • Apr 2016
                  • 7

                  #9
                  За все время работы (чуть больше месяца):
                  Zabbix busy timer processes - max 6.9%
                  Zabbix busy escalator processes - max 47.45%
                  Zabbix busy housekeeper processes - max 41.05%
                  Zabbix busy alerter processes - max 41.1%
                  Zabbix busy configuration syncer processes - 1.12%
                  Zabbix busy dbwatchdog processes - 8.43%
                  Zabbix busy history syncer processes - 20.93%
                  Zabbix busy self-monitoring processes - 0.3%
                  Так что не похоже это на хаускипер.
                  Но, что интересно, вчера добавил виртуалке резервирование памяти и времени процессора. Так же обновил Debian. Обновилось ядро, php и что-то еще. Сегодня утром смог посмотреть очередь.
                  Висят элементы очереди от сервера, который выключается каждый день по окончании рабочего времени. Есть там такая особенность (.
                  Но после добавления резервирования элементы потихоньку сами "рассосались". Эх нужно делать Zabbix на выделенной железке, но кто ж позволит .

                  Comment

                  • Kos
                    Senior Member
                    Zabbix Certified SpecialistZabbix Certified Professional
                    • Aug 2015
                    • 3404

                    #10
                    Originally posted by phaeton
                    Висят элементы очереди от сервера, который выключается каждый день по окончании рабочего времени. Есть там такая особенность
                    Если он регулярно в одно и то же время включается-выключается, то Maintenance без сбора данных вам в помощь!

                    Comment

                    • phaeton
                      Junior Member
                      • Apr 2016
                      • 7

                      #11
                      Спасибо.
                      Буду пробовать.

                      Comment

                      • phaeton
                        Junior Member
                        • Apr 2016
                        • 7

                        #12
                        Итог!
                        По совету Kos создал правило наблюдения без сбора данных.
                        Проблема практически исчезла.
                        После обновления Заббикса до версии 3.0.2, с момента обновления проблема пока не наблюдается.

                        Comment

                        Working...