Zabbix-agent unreachable

Один из серверов, контролируемых Zabbix, недоступен. Понятия не имею, почему это нормально работает с другими серверами.

  • Служба zabbix-agent на отслеживаемом сервере запущена.
  • У нас есть несколько серверов, и все они контролируются zabbix. В /etc/zabbix/zabbix_agentd.conf я не вижу разницы между этим проблемным сервером и другим, который работает нормально.
  • И сервер zabbix, и контролируемый сервер (агент-сервер) размещены на Amazon .
  • Все отслеживаемые zabbix серверы связаны с группой безопасности с двумя входящими правилами для порта 10050 и 10051 для IP-адреса zabbix-сервера. Поэтому входящие запросы от zabbix-сервера к zabbix-агентам на этих серверах должны быть разрешены. Они работают на нескольких серверах, но не на этом.
  • У zabbix-сервера другая группа безопасности, и для портов 10050 и 10051 не установлены правила, поэтому их следует заблокировать. Iptables не возвращает правил.
  • Я могу открыть сеанс telnet от zabbix-сервера к агенту. Он отключается автоматически, но подключается. Думаю, проблема не в брандмауэре.
  • Сервер: Amazon Linux (например, Centos)
  • Установленный файл: http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
  • SELinux отключен на всех этих агентах и ​​на сервере.

Журнал агента после перезапуска службы zabbix-agent

 10939:20151127:093938.268 Starting Zabbix Agent [agent-server.test]. Zabbix 2.2.11 (revision 56693).
 10939:20151127:093938.268 using configuration file: /etc/zabbix/zabbix_agentd.conf
 10942:20151127:093938.269 agent #1 started [listener #1]
 10945:20151127:093938.269 agent #4 started [active checks #1]
 10941:20151127:093938.270 agent #0 started [collector]
 10944:20151127:093938.270 agent #3 started [listener #3]
 10943:20151127:093938.271 agent #2 started [listener #2]
 10945:20151127:141742.930 active check configuration update from [zabbix-server-ip:10051] started to fail 
 (cannot connect to [[zabbix-server-ip]:10051]: [4] Interrupted system call)

Когда я подключаюсь к агент-серверу через telnet, введите agent.version , он возвращает: ZBXD2.2.11

Содержимое /etc/zabbix/zabbix_server.conf (сервер):

ListenPort=10051
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBName=zabbix
DBUser=zabbix
DBPassword=******
DBSocket=/var/lib/mysql/mysql.sock
SNMPTrapperFile=/var/log/snmptt/snmptt.log
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts

Содержимое /etc/zabbix/zabbix_agentd.conf (агент)

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
EnableRemoteCommands=1
Server=zabbix-server-ip
ListenPort=10050
StartAgents=3
# ServerActive=zabbix-server-ip # commented out
Hostname=server.test
Timeout=3
AllowRoot=1
Include=/etc/zabbix/zabbix_agentd.d/

Netstat на сервере zabbix

$ sudo netstat -lpn | grep zabbix
tcp        0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      7624/zabbix_server  
tcp        0      0 :::10051                    :::*                        LISTEN      7624/zabbix_server

Netstat на проблемном агенте

$ sudo netstat -lpn | grep zabbix
tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      3248/zabbix_agentd  
tcp        0      0 :::10050                    :::*                        LISTEN      3248/zabbix_agentd 

Netstat на рабочем агенте

$ sudo netstat -lpn | grep zabbix
tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      24242/zabbix_agentd 
tcp        0      0 :::10050                    :::*                        LISTEN      24242/zabbix_agentd

Активный и пассивный агент

  • Я открыл порт 10051 на сервере для IP-адреса проблемного агента.
  • Telnet показывает, что работает от агента к серверу.
  • Я ' Мы активировали опцию ActiveServer со значением zabbix-server-ip в качестве значения. Сообщение об ошибке исчезает в журнале после перезапуска агента.
  • Проблема все еще существует ...

Следующая попытка:

  • Я проделал то же самое для рабочего агента, могу телнетом от агента к серверу.
  • ActiveServer устанавливается с помощью zabbix -server-ip, агент перезапущен
  • StartAgents установлен в 0, чтобы принудительно использовать активный агент.
  • Zabbix сообщает, что этот сервер недоступен ...
  • Затем я сбрасываюсь на пассивный.

В общем, активный режим мог быть установлен в конфигурации агента на нескольких серверах, он никогда не работал. Все отчеты от пассивных агентов.

Интерфейсы агента

  • Открытие через Мониторинг> Последние данные, выбор хоста = все, я щелкаю имя сервера, и выберите Host Inventory
  • Рабочий агент отображает собственный IP-адрес.
  • Проблемный агент отображает zabbix-server-ip.

Я не знаю, почему это происходит, но это кажется странным.

Что может вызвать эту проблему с подключением? Как я могу повторно подключить сервер к агенту?

Решение

Оказывается, что IP-адрес, установленный в конфигурации хоста (через веб-интерфейс), был IP-адресом самого zabbix-сервера. Конечно, это должен быть адрес агента-сервера.

3
задан 1 December 2015 в 16:30
3 ответа

Оказывается, IP-адрес, установленный в конфигурации хоста (через веб-интерфейс), был IP-адресом самого zabbix-сервера. Конечно, это должен быть адрес агента-сервера.

0
ответ дан 3 December 2019 в 06:03

Как насчет текущих настроек SELinux и iptables в окне агента? Можете ли вы от агента telnet к серверу через порт 10051?

Вы можете попробовать проверить соединение между ящиками с помощью tcpdump на агенте: tcpdump -i your_interface tcp port 10050 . Используя это, вы можете видеть входящие / исходящие пакеты.

2
ответ дан 3 December 2019 в 06:03

Думаю, вам нужно понимать активный и пассивный режим подключения zabbix для решения проблемы. Здесь из документации zabbix :

Пассивные и активные проверки

Агенты Zabbix могут выполнять пассивные и активные проверки.

При пассивной проверке агент отвечает на запрос данных. Zabbix сервер (или прокси) запрашивает данные, например, загрузка ЦП и Zabbix агент отправляет результат обратно.

Активные проверки требуют более сложной обработки. Агент должен сначала получить список элементов с Zabbix сервера для независимого обработка. Затем он будет периодически отправлять новые значения на сервер.

Теперь активный режим работает, вам нужно открыть порт 10051 на Zabbix сервере, чтобы агенты клиентов могли подключаться к нему. Из того, что вы получаете, это проблема:

10945: 20151127: 141742.930 обновление конфигурации активной проверки от [zabbix-server-ip: 10051] начал сбой (невозможно подключиться к [[zabbix-server-ip]: 10051]: [4] Прерванный системный вызов)

Проведенные вами тесты связаны с подключением Zabbix сервера к клиенту, и похоже, что оно работает без проблем. Но этого недостаточно для работы активного режима. Соединение от агента клиента к серверу через порт 10051 не работает в вашем случае, и вам нужно сосредоточиться на этом.

Предоставленная вами информация вводит в заблуждение:

У zabbix-сервера другой группа безопасности, и правила для порты 10050 и 10051, поэтому их следует заблокировать. Iptables не возвращает правила.

Сказанное выше о порте не может быть правдой, так как вы используете активный режим. На сервере должен быть открыт порт 10051, чтобы клиенты могли подключиться, или вы должны использовать пассивный режим.

Поэтому, пожалуйста, проверьте необходимые правила брандмауэра между ними и убедитесь, что клиент / агент может связаться с сервером через этот порт. Я уверен, что другой агент (на другом рабочем сервере) может связаться с Zabbix сервером через порт 10051.

2
ответ дан 3 December 2019 в 06:03

Теги

Похожие вопросы