Ad Widget

Collapse

Периодическое зависание агента (1.8.2)

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • evors
    Junior Member
    • Mar 2010
    • 18

    #1

    Периодическое зависание агента (1.8.2)

    Здравствуйте. Имеется хост с win 2003 x32 и zabbix_agent 1.8.2 на нем. Все работает отлично, но часто (периодичность разная, но раз в 2 дня точно) агент зависает и перестает передавать инфу серверу. TCPview констатирует, что коннекции с сервером висят в состоянии CLOSE_WAIT или ESTABLISH. Помогает перезапуск агента, но решением это назвать нельзя. Поиск по форуму дал аналогичную проблему, но для версии 1.4 (была дагностирована, как проблема агента и исправлено в следующей версии).

    Timeout = 30 для сервера и агента. Пробовал откатываться на версию 1.8.1, переустанавливать заббикс агент. Изменений нет. Ничего специфичного в конфиге нет.

    Ниже кусок лога от последних данных, до зависания:
    Code:
      1332:20100729:152222.516 In collect_cpustat()
      1332:20100729:152223.517 In collect_cpustat()
      1332:20100729:152224.518 In collect_cpustat()
      3732:20100729:152224.533 Processing request.
      3732:20100729:152224.533 Requested [proc.num[]]
      3732:20100729:152224.533 Sending back [62]
      3732:20100729:152225.362 Processing request.
      3732:20100729:152225.362 Requested [service_state[Dhcp]]
      3732:20100729:152225.362 Sending back [0]
      1332:20100729:152225.519 In collect_cpustat()
      1332:20100729:152226.519 In collect_cpustat()
      1332:20100729:152227.520 In collect_cpustat()
      1332:20100729:152228.521 In collect_cpustat()
      1332:20100729:152229.522 In collect_cpustat()
      1332:20100729:152230.523 In collect_cpustat()
      3732:20100729:152231.414 Processing request.
      3732:20100729:152231.414 Requested [system.swap.size[,free]]
      3732:20100729:152231.414 Sending back [7537664000]
      1332:20100729:152231.523 In collect_cpustat()
      3732:20100729:152232.274 Processing request.
      1332:20100729:152232.524 In collect_cpustat()
      1332:20100729:152233.525 In collect_cpustat()
      1332:20100729:152234.526 In collect_cpustat()
      1332:20100729:152235.527 In collect_cpustat()
      1332:20100729:152236.527 In collect_cpustat()
      1332:20100729:152237.528 In collect_cpustat()
      1332:20100729:152238.529 In collect_cpustat()
      1332:20100729:152239.530 In collect_cpustat()
      1332:20100729:152240.531 In collect_cpustat()
      1332:20100729:152241.531 In collect_cpustat()
      1332:20100729:152242.532 In collect_cpustat()
      1332:20100729:152243.533 In collect_cpustat()
      1332:20100729:152244.534 In collect_cpustat()
      1332:20100729:152245.535 In collect_cpustat()
      1332:20100729:152246.535 In collect_cpustat()
      1332:20100729:152247.536 In collect_cpustat()
      1332:20100729:152248.537 In collect_cpustat()
      1332:20100729:152249.538 In collect_cpustat()
      1332:20100729:152250.539 In collect_cpustat()
      1332:20100729:152251.539 In collect_cpustat()
      1332:20100729:152252.540 In collect_cpustat()
      1332:20100729:152253.541 In collect_cpustat()
      1332:20100729:152254.542 In collect_cpustat()
      1332:20100729:152255.543 In collect_cpustat()
      1332:20100729:152256.543 In collect_cpustat()
      1332:20100729:152257.544 In collect_cpustat()
  • evors
    Junior Member
    • Mar 2010
    • 18

    #2
    Вопрос всё еще актуален.

    Comment

    • dima_dm
      Senior Member
      • Dec 2009
      • 2697

      #3
      Состояние CLOSE_WAIT означает, что сервер ожидает FIN пакета для закрытия TCP соединения. (множественное образование таких соединений, может вызывать, например, неправильно настроенный firewall установленный между Zabbix_server и вашем сервером, который разрывает TCP соединения по Timeout, либо другие подобные устройства).
      ESTABLISH - TCP соединение установлено.
      С помощью zabbix_get тестировали, что действительно проблема с zabbix_agentd, а не проблема на сети?
      проверить работу zabbix_agentd достаточно легко
      С Zabbix Server
      zabbix_get -s IP -k agent.version
      IP - IP вашего сервера с zabbix_agentd
      Last edited by dima_dm; 04-08-2010, 13:21.

      Comment

      • evors
        Junior Member
        • Mar 2010
        • 18

        #4
        Во время очередного "зависания" проверил соединение с сервера, получил:
        Code:
        zabbix_get [22263]: Timeout while executing operation.
        Значение timeout, как уже говорил, по 30 сек на сервере и агенте.

        Сразу после рестарта агента, проверка вернула номер версии.

        Comment

        • gospodin.horoshiy
          Senior Member
          • Sep 2008
          • 272

          #5
          Страдаю от похожей проблемы:



          Агентов подверженных ошибке порядка 30ти, всех их объединяет каналы связи, где бывают разрывы и потери пакетов, а также наличие двух сетевых интерфейсов (второй виртуальный, openVPN) Версии агентов 1.8.1-1.8.3.

          Лечится перезагрузкой агента.

          команда с сервера на подвисшие хосты ответ дает:

          administrator@zserver:~$ zabbix_get -s 10.8.19.1 -k agent.version
          1.8.1
          administrator@zserver:~$ zabbix_get -s 10.8.14.1 -k agent.version
          1.8.3
          Zbx 2.0.4 on Debian and MYSQL5 on Ubuntu Server 64bit 8.04,
          200+ Win Agents, 50+ Linux Agents, 150+ Network Devices

          Comment

          • dima_dm
            Senior Member
            • Dec 2009
            • 2697

            #6
            Originally posted by gospodin.horoshiy

            команда с сервера на подвисшие хосты ответ дает:

            administrator@zserver:~$ zabbix_get -s 10.8.19.1 -k agent.version
            1.8.1
            administrator@zserver:~$ zabbix_get -s 10.8.14.1 -k agent.version
            1.8.3
            А вот это уже интересно. У вас агенты в активном или пассивном режиме работают? Т.е. у вас активный режим в момент проблемы не работает, а пассивный работает?
            Last edited by dima_dm; 10-10-2010, 14:22.

            Comment

            • gospodin.horoshiy
              Senior Member
              • Sep 2008
              • 272

              #7
              Originally posted by dima_dm
              А вот это уже интересно. У вас агенты в активном или пассивном режиме работают? Т.е. у вас активный режим в момент проблемы не работает, а пассивный работает?
              Получается что так....
              Вот сейчас зашел на заббикс, увидел пяток подвисших агентов, а сами компы пингуются... вот результат еще раз:

              administrator@ubuntu:~$ zabbix_get -s 10.8.14.1 -k agent.version
              1.8.3

              administrator@ubuntu:~$ zabbix_get -s 10.8.14.5 -k agent.version
              zabbix_get [29992]: Get value error: ZBX_TCP_READ() failed [Connection reset by peer]

              administrator@ubuntu:~$ zabbix_get -s 10.8.26.1 -k agent.version
              1.8.2

              administrator@ubuntu:~$ zabbix_get -s 10.8.22.5 -k agent.version
              1.8.1

              administrator@ubuntu:~$ zabbix_get -s 10.8.16.1 -k agent.version
              1.8.3


              10.8.14.5 только почему то не ответил, ну а все остальные отвечают на пассивные чеки, а сами активные давно не шлют, в журнале агента in collect_cpustat() бесконечные...

              В конфигах все стандартно, единственное серверов указано два(один и тот же сервер, просто два его разные айпишники), через запятую. Пробовал еще таймаут поднимать до 10 сек на обоих концах, но не помогает...
              Zbx 2.0.4 on Debian and MYSQL5 on Ubuntu Server 64bit 8.04,
              200+ Win Agents, 50+ Linux Agents, 150+ Network Devices

              Comment

              • dima_dm
                Senior Member
                • Dec 2009
                • 2697

                #8
                Originally posted by gospodin.horoshiy
                В конфигах все стандартно, единственное серверов указано два(один и тот же сервер, просто два его разные айпишники), через запятую. Пробовал еще таймаут поднимать до 10 сек на обоих концах, но не помогает...
                Мне кажется, что здесь Вы не совсем правы, по крайней мере на Linux Zabbix Agent чётко написано:
                Code:
                # List of comma delimited IP addresses (or hostnames) of ZABBIX servers. 
                # No spaces allowed. First entry is used for sending active checks.
                # Note that hostnames must resolve hostname->IP address and
                # IP address->hostname.
                
                Server=172.0.0.1
                Т.е. только 1-й IP или hostnames используется для active checks.

                Comment

                • gospodin.horoshiy
                  Senior Member
                  • Sep 2008
                  • 272

                  #9
                  Это я в курсе, но так исторически сложилось. В любом случае, оба ИП сервера доступны
                  Zbx 2.0.4 on Debian and MYSQL5 on Ubuntu Server 64bit 8.04,
                  200+ Win Agents, 50+ Linux Agents, 150+ Network Devices

                  Comment

                  • dima_dm
                    Senior Member
                    • Dec 2009
                    • 2697

                    #10
                    Originally posted by gospodin.horoshiy
                    Это я в курсе, но так исторически сложилось. В любом случае, оба ИП сервера доступны
                    Я бы посоветовал поподробнее исследовать проблему, т.к. по подобному описанию мало, что можно понять и сделать.
                    Скачайте tcpdump.exe

                    И посмотрите трафик по порту TCP 10051 на всех интерфейсах Windows машины в момент проблемы.
                    Пытается ли вообще агент подключиться к серверу, и почему это у него не получается.

                    Comment

                    • gospodin.horoshiy
                      Senior Member
                      • Sep 2008
                      • 272

                      #11
                      Значит скачал tcpdump....

                      вот один узел завис, захожу на сервер:

                      administrator@ubuntu:~$ zabbix_get -s 10.8.110.1 -k agent.version
                      1.8.3


                      Захожу на агента телнетов пускаю tcpdump:
                      tcpdump port 10051

                      но пусто, ничего нету...

                      в логе агента in collect_cpustat() и работает...

                      перезагружаю:

                      21:13:36.042439 IP computer1.1482 > 10.8.0.1.10051: Flags [.], ack 1, win 32768, length 0
                      21:13:36.141304 IP computer1.1482 > 10.8.0.1.10051: Flags [.], ack 1, win 32768, length 5
                      21:13:36.169110 IP computer1.1482 > 10.8.0.1.10051: Flags [.], ack 1, win 32768, length 8
                      21:13:36.404110 IP computer1.1482 > 10.8.0.1.10051: Flags [.], ack 1, win 32768, length 1460
                      21:13:36.404117 IP computer1.1482 > 10.8.0.1.10051: Flags [.], ack 1, win 32768, length 1460
                      21:13:36.404122 IP computer1.1482 > 10.8.0.1.10051: Flags [.], ack 1, win 32768, length 1460
                      21:13:36.404126 IP computer1.1482 > 10.8.0.1.10051: Flags [.], ack 1, win 32768, length 1460
                      21:13:36.404130 IP computer1.1482 > 10.8.0.1.10051: Flags [.], ack 1, win 32768, length 1373
                      21:13:36.404768 IP 10.8.0.1.10051 > computer1.1482: Flags [.], ack 7227, win 32768, length 5
                      21:13:36.412569 IP 10.8.0.1.10051 > computer1.1482: Flags [.], ack 7227, win 32768, length 97
                      21:13:36.499303 IP computer1.1482 > 10.8.0.1.10051: Flags [F.], seq 7227, ack 103, win 32768, l
                      ength 0
                      21:13:36.499308 IP 10.8.0.1.10051 > computer1.1482: Flags [F.], seq 103, ack 7228, win 32768, l
                      ength 0
                      21:13:36.499310 IP computer1.1482 > 10.8.0.1.10051: Flags [.], ack 104, win 32768, length 0
                      21:13:41.109785 IP computer1.1483 > 10.8.0.1.10051: Flags [S], seq 1, win 32768, length 0
                      21:13:41.109789 IP 10.8.0.1.10051 > computer1.1483: Flags [S.], seq 1, ack 2, win 32768, length
                      0
                      21:13:41.109792 IP computer1.1483 > 10.8.0.1.10051: Flags [.], ack 1, win 32768, length 0
                      21:13:41.185657 IP computer1.1483 > 10.8.0.1.10051: Flags [.], ack 1, win 32768, length 5
                      21:13:41.237321 IP computer1.1483 > 10.8.0.1.10051: Flags [.], ack 1, win 32768, length 8
                      21:13:41.315893 IP computer1.1483 > 10.8.0.1.10051: Flags [.], ack 1, win 32768, length 1460
                      21:13:41.315900 IP computer1.1483 > 10.8.0.1.10051: Flags [.], ack 1, win 32768, length 1438


                      И сразу пошло...
                      Zbx 2.0.4 on Debian and MYSQL5 on Ubuntu Server 64bit 8.04,
                      200+ Win Agents, 50+ Linux Agents, 150+ Network Devices

                      Comment

                      • dima_dm
                        Senior Member
                        • Dec 2009
                        • 2697

                        #12
                        Значит действительно даже не пытается получить список проверок с Zabbix Server.
                        Если есть желание дальше исследовать проблему, можно использовать аналоги strace для Windows
                        APISpy32 http://www.freedownloadscenter.com/U.../APISpy32.html

                        и т.д.

                        Comment

                        • gospodin.horoshiy
                          Senior Member
                          • Sep 2008
                          • 272

                          #13
                          В общем, последовал вашему совету , использовал ProcMon правда но выяснил что подвисает агент из-за внешнего скрипта который был к агенту прикручен и запускался каждые 5 минут. Этот скрипт тоже работал с сетью. В итоге видимо он зависал из-за отсутствия стабильного канала и вешал заббикс агента который ждал от него информацию. Спасибо за помощь!
                          Zbx 2.0.4 on Debian and MYSQL5 on Ubuntu Server 64bit 8.04,
                          200+ Win Agents, 50+ Linux Agents, 150+ Network Devices

                          Comment

                          Working...