Zabbix:添加项目导致代理不可用

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

我有包含 3 个项目的模板,如下所示: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 服务器没有因 I/O 或 CPU 而过载,有足够的可用内存。似乎不是硬件性能问题。主机上的 Zabbix 代理可用,我用 进行了检查nc -vz <hostname> 10050

这10台主机的服务器日志和代理日志中没有出现任何异常。

我尝试增加ulimit -nzabbix 服务器进程,但它增加了:cat /proc/<zabbix_worker_pid>/limits现在显示Max open files 10240 10240 files。没有帮助。

我尝试将 StartPollers 的数量增加到 10 和 15 - 但也没有帮助。

服务器发生什么事了?

更新型多巴胺

项目类型:Zabbix 代理

所有系统都运行 Linux ubuntu 14.04 trusty

主机上的代理运行 3 个监听器、1 个收集器和 1 个主动检查进程。

对于这 10 台主机中的 7 台,zabbix_get -s <host> -t net.tcp.port[<IP>,3128]所有 3 项均可立即运行,其他 3 台主机运行约 3 秒并返回 0(这 3 台主机无法提供受监控的 IP)。

答案1

最后:

如果:

  • 代理和服务器上的超时相同(默认值:超时 = 3)
  • 有物品net.tcp.port[<IP>,<port>]和触发器使用它
  • [<IP>,<port>]由于 TCP 超时,对不可用

然后:

“{HOST.NAME} 上的 Zabbix-agent 不可用”(触发器表达式:) {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 中启用

相关内容