Zabbix Timeout 设置不当导致的问题
![](/theme/default/default/images/main/eye-open.png)
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
![](/theme/default/default/images/main/icon-jing.png)
问题描述
本文作者分享了在将 Zabbix agent 的监控模板从被动模式更改为主动模式后遇到的问题。在主动模式下,Zabbix agent 应主动连接到 Zabbix Server 以发送数据,但作者发现 server 未接收到任何数据。
问题排查
通过检查 agent 日志,作者发现有 'ZBX_TCP_READ() timed out' 的错误信息。尽管 server 和 agent 之间网络连接正常,作者怀疑是网络延迟导致 TCP 连接建立超时,造成数据传输失败。
问题解决
作者指出,在 Zabbix 中,timeout 值是监控数据传输过程中等待响应的时间限制。发现 server 端的 timeout 设置为 30 秒,而 agent 端仅为 3 秒。作者认为,主动模式下 agent 端设置的超时时间太短可能导致连接建立超时,导致 server 端获取不到数据。作者将 agent 端的 timeout 时间调整为与 server 端一致后,问题得以解决,日志中没有再出现超时失败的记录。
总结
作者总结说,在 Zabbix 中,agent 和 server 之间的 timeout 设置需要相互协调,并根据实际网络状况和环境进行调整。如果 agent 的 timeout 设置太短,可能导致请求无法完成;如果 server 的 timeout 设置太短,可能导致 agent 请求被错误地判定为超时。特别是在主动模式下,agent 的 timeout 值应高于 server 设定的 timeout 值,而在被动模式下,server 的 timeout 值应高于 agent 的 timeout 值。
作者鼓励读者通过支持(一键三连)来激励其创作。
想要了解更多内容?
![](/theme/default/default/images/main/icon-jing.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)