Ad Widget

Collapse

Установка активного агента Zabbix 5.2.3

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Yw_prog
    Junior Member
    • Jan 2021
    • 14

    #1

    Установка активного агента Zabbix 5.2.3

    Добрый день !

    Задача установка активного агента.

    Server: zabbix_appliance-5.2.3-vhdx +Windows 2012r2 - 172.24.0.80
    Client: Zabbix 5.2.3+Windows 10 - 172.24.0.109



    Клиент, настройки 172.24.0.109:10051
    LogFile=C:\Program Files\Zabbix Agent\zabbix_agentd.log
    DebugLevel=3
    EnableRemoteCommands=1
    Server=172.24.0.80
    ServerActive=172.24.0.80
    Hostname=BASEF1
    Include=C:\Program Files\Zabbix Agent\zabbix_agentd.conf.d\


    Сервер:
    Имя узла сети - BASEF1, Интерфейс - 172.24.0.109 ,порт 10051 + Шаблон «Windows by Zabbix agent active»


    На клиенте : telnet 172.24.0.80 10051 – подключается.

    Логи клиента:
    7084:20210111:152851.093 Starting Zabbix Agent [BASEF1]. Zabbix 5.2.3 (revision ae46273eae).
    7084:20210111:152851.095 **** Enabled features ****
    7084:20210111:152851.096 IPv6 support: YES
    7084:20210111:152851.097 TLS support: YES
    7084:20210111:152851.098 **************************
    7084:20210111:152851.099 using configuration file: C:\Program Files\Zabbix Agent\zabbix_agentd.conf
    7084:20210111:152851.879 agent #0 started [main process]
    13080:20210111:152851.881 agent #1 started [collector]
    3392:20210111:152851.882 agent #2 started[listener #1]
    9744:20210111:152851.883 agent #3 started[listener #2]
    12132:20210111:152851.884 agent #4 started[listener #3]
    12884:20210111:152851.885 agent #5 started [active checks #1]
    12884:20210111:152854.889 active check configuration update from [172.24.0.80:10051] started to fail (ZBX_TCP_READ() failed: [0x0000274C] Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.)


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

    #2
    Не вижу в данном сообщении вопроса, поэтому просто прокомментирую.

    Клиент, настройки 172.24.0.109:10051
    Обычно агент слушает порт 10050, а сервер - 10051. Скорее всего так и есть (по крайней мере, таковы настройки конфиг-файла агента); просто, чтобы не возникало недопонимания.

    При активных проверках Zabbix-агент обращается на Zabbix-сервер (либо Zabbix-прокси), первоначально - за списком параметров для проверки, впоследствии - для пересылки собранных значений.
    Тут всё в порядке: агент установлен, сконфигурирован, к серверу Zabbix обращается (на его порт 10051): если 172.24.0.80 - это адрес Zabbix-сервера, то тут полный порядок.
    А вот почему сервер Zabbix ему не отвечает - тут надо разбираться.
    Возможные причины:
    • 172.24.0.80 - это адрес не сервера Zabbix, а кого-то другого;
    • сервер Zabbix зачем-то сконфигурирован слушать не порт 10051, а какой-то другой (проверить в конфиге сервера параметр "ListenPort": дожен быть или 10051, или закомментирован);
    • в том же конфиге проверить параметр "StartTrappers": должен быть либо закомментирован, либо выставлен в положительное значение (мало ли, какой диверсант выставил в ноль);
    • вероятнее всего: порт 10051 на сервере Zabbix блокируется локальным фаерволом (проверить!) либо каким-то промежуточным фаерволом (что вряд ли - судя по IP-адресам, это, скорее всего, одна подсеть).

    Comment

    • Yw_prog
      Junior Member
      • Jan 2021
      • 14

      #3
      Originally posted by Kos
      Не вижу в данном сообщении вопроса, поэтому просто прокомментирую.


      Обычно агент слушает порт 10050, а сервер - 10051. Скорее всего так и есть (по крайней мере, таковы настройки конфиг-файла агента); просто, чтобы не возникало недопонимания.

      При активных проверках Zabbix-агент обращается на Zabbix-сервер (либо Zabbix-прокси), первоначально - за списком параметров для проверки, впоследствии - для пересылки собранных значений.
      Тут всё в порядке: агент установлен, сконфигурирован, к серверу Zabbix обращается (на его порт 10051): если 172.24.0.80 - это адрес Zabbix-сервера, то тут полный порядок.
      А вот почему сервер Zabbix ему не отвечает - тут надо разбираться.
      Возможные причины:
      • 172.24.0.80 - это адрес не сервера Zabbix, а кого-то другого;
      • сервер Zabbix зачем-то сконфигурирован слушать не порт 10051, а какой-то другой (проверить в конфиге сервера параметр "ListenPort": дожен быть или 10051, или закомментирован);
      • в том же конфиге проверить параметр "StartTrappers": должен быть либо закомментирован, либо выставлен в положительное значение (мало ли, какой диверсант выставил в ноль);
      • вероятнее всего: порт 10051 на сервере Zabbix блокируется локальным фаерволом (проверить!) либо каким-то промежуточным фаерволом (что вряд ли - судя по IP-адресам, это, скорее всего, одна подсеть).

      Спасибо за ответ!
      Вопрос: при установке активного Zabbix Agent, происходит ошибка «active check configuration update from [172.24.0.80:10051] started to fail (ZBX_TCP_READ() failed: [0x0000274C] Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.)»
      1. Zabbix-сервер и Zabbix-агент находятся в одной сети.
      2. 172.24.0.80 - это адрес Zabbix-сервера
      3. ListenPort – на сервере – установлен 10051
      4. StartTrappers – на сервере – установлен 2
      5. Tcpdump , лог ниже, вроде пакеты идут на сервер.

      14:33:57.900513 IP appliance.zabbix-trapper > 172.24.0.109.64901: Flags [S.], seq 4186463364, ack 74586803, win 29200, options [mss 1460,nop,nop,sackOK], length 0
      14:33:57.902695 IP appliance.zabbix-trapper > 172.24.0.109.64901: Flags [.], ack 57, win 29200, length 0
      14:34:00.943385 IP appliance.zabbix-trapper > 172.24.0.109.64901: Flags [.], ack 58, win 29200, length 0
      14:34:02.945727 IP appliance.zabbix-trapper > 172.24.0.109.64901: Flags [P.], seq 1:2540, ack 58, win 29200, length 2539
      14:34:02.945765 IP appliance.zabbix-trapper > 172.24.0.109.64901: Flags [F.], seq 2540, ack 58, win 29200, length 0
      14:34:09.922368 IP 172.24.0.109.zabbix-trapper > appliance.54106: Flags [R.], seq 0, ack 479541865, win 0, length 0



      Comment

      • Yw_prog
        Junior Member
        • Jan 2021
        • 14

        #4
        Originally posted by Kos
        [*]вероятнее всего: порт 10051 на сервере Zabbix блокируется локальным фаерволом (проверить!) либо каким-то промежуточным фаерволом (что вряд ли - судя по IP-адресам, это, скорее всего, одна подсеть).[/LIST]
        На сервере : iptables

        Chain INPUT (policy ACCEPT)
        target prot opt source destination
        ACCEPT all -- anywhere anywhere
        ACCEPT udp -- dns.google anywhere udp spt:domain
        ACCEPT udp -- dns.google anywhere udp spt:domain
        ICMP icmp -- anywhere anywhere
        NTP udp -- anywhere anywhere udp dpt:ntp
        SSH tcp -- anywhere anywhere tcp dpts:ftp-data:ssh
        ZBX tcp -- anywhere anywhere multiport dports zabbix-agent,zabbix-trapper
        WEB tcp -- anywhere anywhere multiport dports http,https
        SNMPTRAP udp -- anywhere anywhere udp dpt:snmptrap
        DROP tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,ACK/SYN
        ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED

        Chain FORWARD (policy ACCEPT)
        target prot opt source destination

        Chain OUTPUT (policy ACCEPT)
        target prot opt source destination
        ACCEPT icmp -- anywhere anywhere icmp echo-request
        ACCEPT icmp -- anywhere anywhere icmp echo-reply

        Chain ICMP (1 references)
        target prot opt source destination
        ACCEPT icmp -- anywhere anywhere limit: avg 5/sec burst 5

        Chain NTP (1 references)
        target prot opt source destination

        Chain SSH (1 references)
        target prot opt source destination
        ACCEPT tcp -- anywhere anywhere tcp dpt:ssh

        Chain ZBX (1 references)
        target prot opt source destination
        ACCEPT tcp -- anywhere anywhere tcp dpt:zabbix-agent
        ACCEPT tcp -- anywhere anywhere tcp dpt:zabbix-trapper

        Chain WEB (1 references)
        target prot opt source destination
        ACCEPT tcp -- anywhere anywhere multiport dports http,https
        ACCEPT udp -- anywhere anywhere udp dpt:snmptrap

        Chain SNMPTRAP (1 references)
        target prot opt source destination

        Chain SQL (0 references)
        target prot opt source destination

        Comment

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

          #5
          Originally posted by Yw_prog
          при установке активного Zabbix Agent, происходит ошибка «active check configuration update from [172.24.0.80:10051] started to fail (ZBX_TCP_READ() failed: [0x0000274C] Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.)»
          Эта ошибка возникает не при установке, а уже при работе агента: он установился успешно, и так же успешно стартанул; одна из первых вещей, которые он делает после старта (если настроен параметр "ServerActive=") - это обращается к серверу Zabbix за списком своих активных проверок. Вот в этот момент и возникает ошибка..
          Где был снят этот дамп - на сервере Zabbix? Почему в нём видны только ответы сервера, но не видны запросы со стороны агента?
          Можно поснимать трафик WireShark-ом на стороне агента, чтобы убедиться, что как запросы (агент -> сервер Zabbix), так и ответы на них (сервер -> агент) благополучно доходят.
          Может быть (хотя и маловероятно), на стороне агента что-то мешает принимать эти ответы, раз уж их сервер посылает?
          На сервере и на агенте - по одному сетевому интерфейсу и IP-адресу?

          Comment

          • Yw_prog
            Junior Member
            • Jan 2021
            • 14

            #6
            Заметил, что в очереди Zabbix apliance есть записи с компьютера клиента.
            Click image for larger version

Name:	Очередь_.png
Views:	1019
Size:	95.4 KB
ID:	416568

            Comment

            • Yw_prog
              Junior Member
              • Jan 2021
              • 14

              #7
              Может дело в настройках самого сервера ?

              Click image for larger version

Name:	Настройка_.png
Views:	1033
Size:	71.7 KB
ID:	416570

              Comment

              • Yw_prog
                Junior Member
                • Jan 2021
                • 14

                #8
                Originally posted by Kos
                На сервере и на агенте - по одному сетевому интерфейсу и IP-адресу?
                Включен один интерфейс.

                Comment

                • Yw_prog
                  Junior Member
                  • Jan 2021
                  • 14

                  #9
                  Originally posted by Kos
                  Можно поснимать трафик WireShark-ом на стороне агента, чтобы убедиться, что как запросы (агент -> сервер Zabbix), так и ответы на них (сервер -> агент) благополучно доходят.
                  Click image for larger version

Name:	WireShark_.png
Views:	1002
Size:	109.5 KB
ID:	416591

                  Comment

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

                    #10
                    Originally posted by Yw_prog
                    Включен один интерфейс.
                    Спасибо. Я просто уточнил, т.к. иногда бывают экзотические случаи, когда на системе с несколькими интерфейсами ответ приходит либо не на тот интерфейс, либо не с того IP-адреса, на который посылался запрос. Вроде, это не ваш случай.

                    Всё остальное, честно говоря, не слишком много проясняет. Разве что трейс, собранный WireShark-ом, доказывает, что пакеты таки ходят в обе стороны: и запросы, и ответы, да и соединение, как минимум, успешно устанавливается. Пакеты с номерами 128-130: TCP-handshake; 131 (с данными, длиной 56 байт) - верятно, тот самый запрос (ZBX-заголовок + JSON), а 132 - TCP-подтверждение получения пакета.
                    Пакет 135 содержит выставленный бит FIN - показывает, что канал на передачу закрывается: JSON с запросом отправлен, больше ничего пересылаться не будет (ожидается лишь приём ответа).
                    Вполне допускаю, что в пакете 140 (с данными на 1079 байт) содержится ответный JSON со списком нужных проверок, но я не понимаю, почему ещё до его получения связь разрывается, причём по инициативе компьютера с агентом (пакет 139 с выставленным битом RST). В итоге данные до агента так и не доходят.
                    По логике, пакет 139 должен был бы идти после пакета 141 (FIN со стороны сервера Zabbix). Если только это не результат каких-то оптимизаций, в результате чего они поменялись местами.

                    Я не очень понимаю, что именно там происходит, но, похоже, что сервер Zabbix тут ни при чём: оно ответ на запрос посылает.

                    Можно в порядке, так сказать, troubleshooting-а попробовать на компьютере с агентом временно:
                    • отключить локальный фаервол, если он включен;
                    • отключить антивирус, если он включен (на некоторых, вроде Касперского, сейчас довольно серьёзные навороты, позволяющие вмешиваться в сетевой уровень, если трафик показался подозрительным);
                    • попробовать другую версию агента;
                    Можно ещё попробовать перед стартом агента выставить в его конфиге параметр "DebugLevel=4" и дальше смотреть по логу, что делает процесс active checks.

                    Блин, самое очевидное заметил только в конце: у вас разница по времени между запросом и ответом составила 5 секунд. Это чересчур долго, обычно сервер отвечает за доли секунды. Возможно, сервер Zabbix чем-то нагружен, либо ему не хватает ресурсов, либо используемая им база данных использует настройки по умолчанию. Но это отдельная тема, а пока самое простое - это добавить в конфиг-файл агента параметр "Timeout=10" и попробовать ещё раз. Желательно, в конфиг сервера - добавить тот же параметр (со значением не меньше, а лучше - чуть больше, чем максимальное значение на агентах).
                    А когда коммуникации между сервером и агентом заработают, тогда уже разбираться с оптимизацией сервера.
                    Last edited by Kos; 12-01-2021, 14:41.

                    Comment

                    • shkiper
                      Senior Member
                      • Mar 2016
                      • 123

                      #11
                      странно, у меня в заббикс 5.2.3, при выборе типа "Zabbix agent (активный)", поле "интерфейс" пропадает
                      и ваши логи агента, это логи просто агента, а не активного (для 5.2.3, я так понял, это должен быть Zabbix agent 2)
                      логи активного агента выглядят так:
                      Code:
                      2021/01/12 23:27:34.395262 Starting Zabbix Agent 2 (5.2.3)
                      2021/01/12 23:27:34.396254 OpenSSL library (OpenSSL 1.1.1c FIPS 28 May 2019) initialized
                      2021/01/12 23:27:34.396361 using configuration file: /etc/zabbix/zabbix_agent2.conf
                      2021/01/12 23:27:34.396437 using plugin 'Agent' providing following interfaces: exporter
                      2021/01/12 23:27:34.396453 using plugin 'Ceph' providing following interfaces: exporter, runner, configurator
                      2021/01/12 23:27:34.396468 using plugin 'Cpu' providing following interfaces: exporter, collector, runner
                      2021/01/12 23:27:34.396480 using plugin 'Docker' providing following interfaces: exporter, configurator
                      2021/01/12 23:27:34.396495 using plugin 'File' providing following interfaces: exporter, configurator
                      2021/01/12 23:27:34.396510 using plugin 'Kernel' providing following interfaces: exporter
                      2021/01/12 23:27:34.396522 using plugin 'Log' providing following interfaces: exporter, configurator
                      2021/01/12 23:27:34.396533 using plugin 'MQTT' providing following interfaces: watcher, configurator
                      судя по всему работает обычный агент, он пытается запросить у сервера список активных проверок, сервер имя узла ему возвращает, а дальше шлет уже непонятные для старого агента данные и тот отваливается
                      Last edited by shkiper; 12-01-2021, 15:53.

                      Comment

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

                        #12
                        Originally posted by shkiper
                        и ваши логи агента, это логи просто агента, а не активного (для 5.2.3 это должен быть Zabbix agent 2)
                        логи активного агента выглядят так:
                        Во-первых, это не мои логи, а того человека, который начал эту тему (я лишь пытаюсь помочь ему разобраться).
                        Во-вторых, "активный" и "пассивный" - это лишь режимы работы агента. И обычный агент (который установлен у автора темы), и более новый Agent2 поддерживают работу как в активном, так и в пассивном режиме (и даже более того: могут работать в обоих режимах одновременно).
                        Наконец, в-третьих, что там происходит между агентом и сервером, я уже проанализировал чуть выше. Вероятнее всего, проблема с отваливанием по тайм-ауту. Ваше предположение, мягко говоря, неверно: при общении агента в активном режиме с сервером не "сервер имя узла ему возвращает", а агент передаёт на сервер имя узла в запросе на список активных проверок. В этом запросе версия агента нигде не фигурирует (ссылку на протокол я давал в предыдущем сообщении).

                        Comment

                        • shkiper
                          Senior Member
                          • Mar 2016
                          • 123

                          #13
                          если должно работать и с просто агентом, то надо проверить netstat-ом, что точно висит на портах
                          тайминги в дампе (89, 92, 94) это таки да - намек на что-то
                          если проблемы с сетью и клиент не может достучаться до сервера, то через 30 сек приходит в лог клиента ошибка, что активные проверки того
                          если клиент отправляет серверу не существующее имя хоста, то в логе клиента тоже пишется ошибка
                          эти шаги, судя по всему проходят
                          дальше клиент должен получить список активных проверок
                          я у себя попробовал остановить zabbix agent2 и запустить простой агент, у меня сразу пошла ругань на не поддерживаемые элементы

                          в логах сервера кстати все норм?

                          там в этом шаблоне («Windows by Zabbix agent active») куча подключенных шаблонов, что если клонировать его и оставить там самый простой шаблон для проверки, чтоб так-сказать исключить засаду со стороны кривых ключей

                          Comment

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

                            #14
                            shkiper , спасибо за желание помочь, но:
                            • ошибка, которая пишется в логе агента, была процитирована в самом первом сообщении этой темы;
                            • ошибки в лог пишутся по мере их обнаружения, а не "через 30 сек". Был бы я повнимательнее, заметил бы это сразу: в логе из первого сообщения как раз видно, что между стартом процесса active check и возникновением ошибки прошло три секунды (т.е. значение по умолчанию для параметра "Timeout=" на агенте версии 5.х);
                            • ругань на неподдерживаемые элементы данных у Вас была из-за того, что Вы у себя используете элементы данных, специфичные именно для Agent2 (судя по соседним темам - mqtt.get). Их "обычный" агент и вправду не понимает, на что и ругается; к режиму работы (активный/пассивный) это отношения не имеет. Как и не имеет отношения к данной теме.
                            Ждём от автора темы, помогло ли ему увеличение тайм-аута на агенте.

                            Comment

                            • Yw_prog
                              Junior Member
                              • Jan 2021
                              • 14

                              #15
                              Originally posted by Kos
                              shkiper , спасибо за желание помочь, но:Ждём от автора темы, помогло ли ему увеличение тайм-аута на агенте.
                              Спасибо за ответы!

                              Установил Timeout=10 на клиенте и Timeout=15 на сервере. Обмены пошли.

                              Comment

                              Working...