Zabbix: 3.0.3 (zabbix-server-mysql)
OS: Ubuntu 14.04 Trusty, одинаково для сервер и наблюдаемых хостов.
Number of hosts (enabled/disabled/templates): 28 / 0 / 57
Number of items (enabled/disabled/not supported): 1349 / 161 / 47
Number of triggers (enabled/disabled): 902 / 39
Required server performance, new values per second: 22.86
Конфиг zabbix server:
StartPollers=5
StartPollersUnreachable=2
StartTrappers=5
StartDiscoverers=3
StartHTTPPollers=5
Есть шаблон с тремя элементами вида net.tcp.port[<IP>,3128]. Он применяется к 10 серверам. Тип элементов: Zabbix Agent.
На наблюдаемых хостах zabbix-agent запускает процессы: 3 listener, 1 collector и 1 active check.
После включения элементов в шаблоне, на этих хостах начинаются периодические сообщения вида «zabbix-agent on <hostname> is not available for 2 minutes».
На самом деле агенты на хостах в этот момент доступны, проверяется
nc -vz <hostname> 10050
На графике «Zabbix Server Preformance» значение zabbix[wcache,values] резко уходит вниз с 19-19.5 до 16-17. zabbix[queue] на том же графике остаётся в нуле.
После выключения элементов проблема сразу исчезает, то есть точно связано именно с конфигурацией заббикса, а не с сетью.
Сервер не нагружен по I/O или процу, памяти хватает. Непохоже на проблемы производительности. В логах сервера или агентов никаких ошибок не наблюдается.
Пробовал увеличить ulimit -n для процессов zabbix_server до 10240 (soft и hard) - не помогло. Пробовал увеличить StartPollers до 10 и до 15 - тоже ничего не поменялось.
zabbix_get -s <host> -t net.tcp.port[<IP>,3128] отрабатывает мгновенно для элементов, возвращающих 1(успешное соединение), и порядка 3 секунд для элементов, возвращающих 0(не удалось соединиться).
Экспериментальным путём установил, что если оставить только айтемы, возвращающие 1(успешное соединение), то проблема не возникает.