Назад | Перейти на главную страницу

Zabbix: добавление элементов делает агентов недоступными

Версия Zabbix: 3.0.3 (zabbix-server-mysql)

ОС: Ubuntu 14.04 Trusty

Количество хостов (включено / отключено / шаблоны): 28/0/57

Количество элементов (включено / отключено / не поддерживается): 1349/161/47

Количество триггеров (включено / выключено): 902/39

Требуемая производительность сервера, новых значений в секунду: 22,86

Конфигурация Zabbix сервера:

StartPollers=5 StartPollersUnreachable=2 StartTrappers=5 StartDiscoverers=3 StartHTTPPollers=5

У меня есть шаблон с тремя такими элементами: net.tcp.port[<IP>,3128]. Шаблон применяется к 10 серверам.

Вот проблема: когда я включаю эти элементы, такие события, как zabbix-agent on <hostname> is not available for 2 minutes начинают случайным образом появляться на 10 хостах, где применяется шаблон. Значения на графике «Производительность Zabbix сервера» (который представляет), представляющие zabbix[wcache,values], начинаем снижаться с 19-19.5 до 16-17. Ценности, представляющие zabbix[queue] оставайтесь на 0, как и раньше.

Когда я отключаю предметы, проблема исчезает.

Zabbix сервер не перегружен вводом / выводом или процессором, имеется много свободной памяти. Не похоже на проблему производительности оборудования. Агенты Zabbix на хостах доступны, проверяю с nc -vz <hostname> 10050.

Ничего необычного не появляется в журнале сервера или журналах агентов на этих 10 хостах.

Я пробовал увеличить ulimit -n для процесса сервера zabbix он был увеличен: cat /proc/<zabbix_worker_pid>/limits теперь показывает Max open files 10240 10240 files. Не помогло.

Я пробовал увеличить количество StartPoller до 10 и 15 - тоже не помогло.

Что происходит с сервером?

UPD:

Тип элементов: Zabbix агент

Все системы прошиваются Linux ubuntu 14.04 trusty

Агенты на хостах запускают 3 слушателя, 1 сборщик и 1 процесс активной проверки.

Для 7 из 10 хостов zabbix_get -s <host> -t net.tcp.port[<IP>,3128] работает мгновенно для всех 3 элементов, на других 3 хостах он работает около 3 секунд и возвращает 0 (отслеживаемые IP-адреса недоступны с этих 3 хостов).

В заключение:

Если:

  • таймаут и на агенте, и на сервере одинаковы (по умолчанию: тайм-аут = 3)
  • есть предмет net.tcp.port[<IP>,<port>] и запускать с его помощью
  • пара [<IP>,<port>] недоступен по таймауту TCP

Затем:

«Zabbix-агент на {HOST.NAME} недоступен» (выражение триггера: {agent.ping.nodata(2m)} = 1 ) начать нерест на хостах с этим элементом. Не триггер для конкретного элемента, а триггер для доступность агента. Это ошибка, но ребята из zabbix, похоже, не согласны:

https://support.zabbix.com/browse/ZBX-10868

Zabbix версии 3.0.3 и для сервера, и для агента.

Возможные обходные пути:

  • сделайте таймаут в zabbix_server.conf больше, чем в zabbix_agentd.conf
  • используйте UserParameter следующим образом: UserParameter=tcp_connect_check[*], /bin/nc -z "$1" "$2" -w "$3"; echo $? и создать элементы, время ожидания подключения меньше, чем в zabbix_agentd.conf. Чтобы избежать проблем, не включайте UnsafeUserParameters в zabbix_agentd.conf