Ad Widget

Collapse

Работа агента через lo-интерфейс

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Piknik
    Junior Member
    • Jun 2016
    • 22

    #1

    Работа агента через lo-интерфейс

    Добрый день!

    Пытаюсь настроить Zabbix 3.0 на Debian 8.

    Установил через пакеты сервер, агента и веб-морду.
    Прописал конфигурацию:
    Code:
    # cat /etc/zabbix/zabbix_server.conf | grep -v "^#" | grep -v "^$"
    LogFile=/var/log/zabbix/zabbix_server.log
    LogFileSize=0
    PidFile=/var/run/zabbix/zabbix_server.pid
    DBName=zabbix
    DBUser=zabbix
    DBPassword=124234212341223141234
    ListenIP=127.0.0.1
    Timeout=4
    AlertScriptsPath=/usr/lib/zabbix/alertscripts
    ExternalScripts=/usr/lib/zabbix/externalscripts
    FpingLocation=/usr/bin/fping
    Fping6Location=/usr/bin/fping6
    LogSlowQueries=3000
    
    # cat /etc/zabbix/zabbix_agentd.conf | grep -v "^#" | grep -v "^$"
    PidFile=/var/run/zabbix/zabbix_agentd.pid
    LogFile=/var/log/zabbix/zabbix_agentd.log
    LogFileSize=0
     DebugLevel=3
    Server=127.0.0.1
    ListenPort=10050
    ListenIP=127.0.0.1
    Hostname=127.0.0.1
    Include=/etc/zabbix/zabbix_agentd.d/
    После настрил веб-морду.

    Проблема началась тогда, когда встроенный в дефолтную настройку Zabbix-сервера узел "Zabbix Server" гордо высветил надпись "Received empty response from Zabbix Agent at [127.0.0.1]. Assuming that agent dropped connection because of access permissions".

    В логе агента при этом появилось сообщение
    failed to accept an incoming connection: connection from "10.254.0.2" rejected, allowed hosts: "127.0.0.1"

    10.254.0.2 - это адрес одного из физических интерфейсов. Поскольку данный сервер вещает на внешку по белому IP - на нём настроено куча правил iptables. Когда я настраивал Zabbix, я не предпологал, что он будет пытаться стучаться на localhost не через lo-интерфейс (на котором нет запрещающих правил iptables), а через один из физических. По итогу получается, что заббикс-сервер и заббикс-агент находятся так близко друг другу, что ближе уже и представить себе сложно, но при этом они друг друга не слышат.

    Собственно вопрос - как заставить агента пытаться подключаться к 127.0.0.1 через lo-интерфейс?

    P.S. IPv6 отключён на уровне ядра.
  • sadman
    Senior Member
    • Dec 2010
    • 1611

    #2
    Самое простое, на мой взгляд:

    Code:
    Server=127.0.0.1, 10.254.0.2
    Посложнее - крутить iptables на предмет исключения 127.0.0.* из правил nat (если проблема именно в подмене адреса модулем iptables).

    Comment

    • Piknik
      Junior Member
      • Jun 2016
      • 22

      #3
      Первый способ сработал нормально.

      Очень странный костыль. До него так просто не догадаешься, что пришлось лезть тревожить Вас на форум. Поскольку сервер слушает только 127.0.0.1, не так просто догадаться прописывать не-локалхостовый адрес в агент.

      Однако это работает. Ко всему прочему LISTEN'ы не нарушены:
      # netstat -naltp | grep 1005 | grep LIST
      tcp 0 0 127.0.0.1:10050 0.0.0.0:* LISTEN 10155/zabbix_agentd
      tcp 0 0 127.0.0.1:10051 0.0.0.0:* LISTEN 11297/zabbix_server


      Спасибо за помощь!

      Comment

      • Piknik
        Junior Member
        • Jun 2016
        • 22

        #4
        Сейчас начал лазить в веб-морде и обнаружил, что графики уже давно рисуются. Начали они рисоваться вчера в 18:30. Это когда я плюнул на настройку Заббикса и ушел домой. Агент, видимо, догадался, что от него нужно и принялся соединяться по lo-интерфейсу.

        Напомню, что это было еще до того, как я прописал "Server=127.0.0.1, 10.254.0.2" в агенте.

        В общем на будущее - заббиксу может нужно время на разгон...

        Comment

        Working...