Ad Widget

Collapse

Не отправляются данные через zabbix_sender - A connection timeout occured

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • deusconductor
    Junior Member
    • Jul 2018
    • 9

    #1

    Не отправляются данные через zabbix_sender - A connection timeout occured

    Добрый день, уважаемые форумчане!
    Понимаю, что вопрос детский, ибо с Zabbix и Linux только знакомлюсь, хотя это не мешает успешно его эксплуатировать на протяжении 2 лет благодаря труду популяризаторов в интернет.

    Установлено:
    Zabbix 5.0.14
    CentOS 8.3.2011
    Zabbix Agent 5.0.7.2400 на Windows Server 2012 R2

    Список пакетов сервера:
    zabbix-web-deps-5.0.14-1.el8.x86_64
    zabbix-release-5.0-1.el8.noarch
    zabbix-agent-5.0.14-1.el8.x86_64
    zabbix-sender-5.0.14-1.el8.x86_64
    zabbix-nginx-conf-5.0.14-1.el8.noarch
    zabbix-web-5.0.14-1.el8.noarch
    zabbix-server-mysql-5.0.14-1.el8.x86_64
    zabbix-get-5.0.14-1.el8.x86_64
    zabbix-web-mysql-5.0.14-1.el8.noarch

    Споткнулся на задаче контроля бэкапов на Windows сервере, где по завершению резервного копирования хотел при помощи zabbix_sender отправлять Элементу данных типа "Zabbix траппер" значение "1".
    На Item навесить триггер и т.д.
    Оказалось ни c одного из 3 бэкап-серверов Windows данные не отправляются:

    >zabbix_sender -z 10.11.11.11 -p 10051 -s 10.11.11.22 -k trap -o "test" -vv
    zabbix_sender [3228]: DEBUG: send value error: cannot connect to [[10.11.11.11] :10051]: A connection timeout occurred.
    Sending failed.


    Прошу помощи по диагностике данной проблемы, по возможности "разжевывая", ибо новичок.
    Firewall отключен при настройке, хотя может что-то пошло не так?:
    # systemctl stop firewalld
    ​# systemctl disable firewalld
    Может необходимо на сервере как-то явно "открыть" 10051 порт? На самом клиенте антивирус и файрволл ничего не блокируют внутри сети
    Last edited by deusconductor; 17-08-2021, 13:04.
  • TatianaK
    Junior Member
    • Jul 2021
    • 8

    #2
    Добрый день,

    По диагностике проблемы можно проверить следующее:
    1. с сервера windows
    telnet 10.11.11.11 port 10051
    если соединение установлено, проблем по сети нет

    2. на сервере zabbix
    проверить настройку элемента данных с ключом trap (на который отправляются данные)
    - его тип должен быть Zabbix траппер
    -
    в поле "Разрешенные хосты" должен быть указан ip (или диапазон сети) с которого необходимо принимать траппы


    Comment

    • deusconductor
      Junior Member
      • Jul 2018
      • 9

      #3
      Originally posted by TatianaK
      Добрый день,

      По диагностике проблемы можно проверить следующее:
      1. с сервера windows
      telnet 10.11.11.11 port 10051
      если соединение установлено, проблем по сети нет

      2. на сервере zabbix
      проверить настройку элемента данных с ключом trap (на который отправляются данные)
      - его тип должен быть Zabbix траппер
      -
      в поле "Разрешенные хосты" должен быть указан ip (или диапазон сети) с которого необходимо принимать траппы

      Спасибо за ответ!

      1. telnet как и Test-NetConnection не сканирует UDP порты, как выяснилось для работы агента-сервера Zabbix нужны и TCP и UDP 10050 и 10051 порты. Использовал PortQry и выяснил, что доступен только TCP для 10050 и 10051, а UDP - нет. Включил FirewallD и добавил порты:

      # systemctl start firewalld
      ​# systemctl enable firewalld
      # firewall-cmd --permanent --add-port={80/tcp,443/tcp,10051/tcp,10050/tcp,10050/udp,10051/udp}
      # firewall-cmd --reload

      PortQry по UDP снова не отрабатывает, но после перезагрузки теперь отрабатывает zabbix_sender, но данные в trap так и не попадают:

      C:\Program Files\Zabbix Agent>zabbix_sender -z 10.11.11.11 -p 10051 -s 10.11.11.22 -k trap -o "test" -vv
      zabbix_sender [4084]: DEBUG: answer [{"response":"success","info":"processed: 0; failed: 1; total: 1; seconds spent: 0.000055"}]
      Response from "10.11.127.11:10051": "processed: 0; failed: 1; total: 1; seconds spent: 0.000055" sent: 1; skipped: 0; total: 1

      Вообще не понятно с firewall в CentOS 8, остановил и убрал из загрузки firewalld (фронтенд для iptable) и сам iptable, но тогда zabbix_sender выдает A connection timeout occurred.
      Ведь при отключении фильтрации пакетов должно все ходить без препон? К тому же в CentOS уже свой фильтр вместо iptable - nftables. Черт ногу сломит.
      Поясните, по возможности!
      Last edited by deusconductor; 18-08-2021, 14:13.

      Comment

      • Alex_UUU
        Senior Member
        • Dec 2018
        • 541

        #4
        А точно ли заббикс сервер запущен? и точно ли на 10051 порту?

        Comment

        • TatianaK
          Junior Member
          • Jul 2021
          • 8

          #5
          Посмотрим,

          На сервере zabbix вывод команд
          #netstat -lnput
          >>если команда не найдена установить net-tools (#yum install net-tools) или использовать команду ss
          #systemctl status firewalld
          #iptables -L

          Прошу показать скрин настроек элемента данных с ключом, который отправляете

          Comment

          • deusconductor
            Junior Member
            • Jul 2018
            • 9

            #6
            Всем огромное спасибо за помощь!
            Заработало после включения iptable и firewalld (при установке был отключен по инструкции, дабы не заморачиваться) с определением разрешенных портов, новый брандмауэр nftables остался отключенным. iptable больше никак не настраивал, сервер внутри защищенного периметра, пока задачи по его дополнительной защите не стоит. В инструкциях (https://serveradmin.ru/ustanovka-i-n...ka-zabbix-5-0/) по установке и настройке CentOS 8 и Zabbix писали, что если отключить firewalld, то все пакеты будут ходить свободно, определенно это не так. Порты UDP 10050 и 10051 так и не сканируются со стороны клиента, хоть и разрешены на сервере, однозначной информации по их необходимости не нашел. Еще нюанс по использованию zabbix_sender, промучился полдня с этой ерундой, вставлял в ключе -s 10.11.11.22 - IP адрес, чтобы наверняка. Но данные узел стал получать, когда в ключе -s стал указывать DNS имя узла - server.domain.local, хотя определены в настройках узла и имя и адрес.

            Comment


            • Hamardaban
              Hamardaban commented
              Editing a comment
              с чего вы взяли что забикс использует порты UDP при коммуникации между компонентами? Укажите место в документации или приведите пример вывода netstat пожалуйста.
          • Kos
            Senior Member
            Zabbix Certified SpecialistZabbix Certified Professional
            • Aug 2015
            • 3404

            #7
            1) ни агент Zabbix, ни команда zabbix_sender не используют UDP. Используется только TCP, по умолчанию – порт 10050 на агенте (для пассивных проверок) и порт 10051 на сервере (для обслуживания агентов в активном режиме и для приëма данных от утилиты zabbix_sender).

            2) в параметре "-s" утилиты zabbix_sender указывается «техническое» имя хоста в Zabbix, как оно прописано в настройках хоста в веб-интерфейсе Zabbix. Не DNS-имя и не IP-адрес, а именно имя хоста (если только они не совпадают). Причëм, это имя хоста должно указываться абсолютно точно, с учётом регистра букв.

            3) если приходит ответ от сервера Zabbix (столько-то получено и обработано, столько-то failed), то коммуникации с сервером проходят, и фаервол тут (в данный момент) ни при чём.

            Comment

            Working...