Zabbix Timeout 设置不当导致的问题

news/2024/11/17 3:40:20/

哈喽大家好,我是咸鱼

今天跟大家分享一个关于 zabbix Timeout 值设置不当导致的问题,这个问题不知道大家有没有碰到过

问题

事情经过是这样的:

把某一台 zabbix agent 的模板由原来的
Template OS Windows by Zabbix agent
换成了
Template OS Windows by Zabbix agent active

在这里插入图片描述

Template OS Windows by Zabbix agent active 使用 主动模式 主动获取数据

Template OS Windows by Zabbix agent 使用 被动模式 等待 Server 请求数据

也就是说在主动模式下,Zabbix Agent 主动连接到 Zabbix Server 并发送监控数据,Zabbix Server 只需监听指定的端口,接收 Agent 发送过来的数据

结果发现 zabbix server 接收不到数据

排查

查看 agent 日志(/var/log/zabbix/zabbix_agentd.log),发现 ZBX_TCP_READ() timed out

  8452:20230620:134942.947 active check configuration update from [192.168.149.129:10051] started to fail (ZBX_TCP_READ() timed out)8452:20230620:135044.072 active check configuration update from [192.168.149.129:10051] is working again8452:20230620:140049.959 active check configuration update from [192.168.149.129:10051] started to fail (ZBX_TCP_READ() timed out)8452:20230620:140149.093 active check configuration update from [192.168.149.129:10051] is working again

而且经过进一步排查,发现:

  • server 节点运行正常,agent 节点正常运行
  • server 节点和 agent 节点之间可以 ping 通,而且 Telnet 端口可用

综合上面的现象,怀疑是网络原因导致 TCP 建立连接时间超时,agent 向 server 发送数据失败

既然是网络原因,那为什么我在修改模板(即被动模式)之前,server 是能够向 agent 获取数据的

怎么被动模式就没超时,主动模式就超时了呢?

解决

在 Zabbix 中,timeout(超时)是指在进行监控数据获取或传输时,等待响应的时间限制

在配置文件中如下所示,默认值是 3 s

### Option: Timeout
#       Spend no more than Timeout seconds on processing
# Timeout=3

我们分别来看下 server 和 agent 关于超时时间的配置

#server 端
Timeout=30#agent 端
Timeout=3

可以看到,sever 端设置的超时时间是 30 s,agent 端设置的超时时间是 3s,这两个时间相差太大了吧

如果 agent 的 timeout 设置得太短,可能会导致一些请求无法完成;而如果 server 的 timeout 设置得太短,可能会导致 agent 的请求被错误地判定为超时

结合上面的情况,可以得知:

  • 主动模式下,agent 向 server 发送数据的时候,agent 端设置的超时时间是 3s,有可能会出现网络原因导致 TCP 建立连接时间超时,server 端获取不到数据,就会出现上面的问题
  • 被动模式下,server 向 agent 获取数据,但是 server 端设置的超时时间是 30s,这个超时时间可以说是非常大了

我们把 agent 端的超时时间改一下,跟 server 端一致

#agent 端
Timeout=30

重启 agent 后发现日志没有报 started to fail (ZBX_TCP_READ() timed out) 错,zabbix server 端也能够获取数据了
在这里插入图片描述
总结一下:

  • 在 Zabbix 中,timeout 是指在进行监控数据获取或传输时,等待响应时间的限制
  • Agent 和 Server 之间的超时时间设置应该相互协调,并根据实际网络状况和环境来进行调整。如果 Agent 的 timeout 设置得太短,可能会导致一些请求无法完成;而如果 Server 的 timeout 设置得太短,可能会导致 Agent 的请求被错误地判定为超时
  • 主动模式下 agent 的 timeout 值最好高于 server 配的 timeout 值,被动模式下 server 配的 timeout 值最好高于 agent 的 timeout

If used with the passive agent, Timeout value in server configuration may need to be higher than Timeout in the agent configuration file. Otherwise the item may not get any value because the server request to agent timed out first.


http://www.ppmy.cn/news/568283.html

相关文章

【MOOC 作业】第2章 应用层

不是标答也不是参考答案 仅从个人理解出发去做题 1、(20分) 什么是持久性连接?什么是非持久性连接?持久性连接与非持久性连接区别如何? 持久性连接:每个请求/响应对都经同一个 TCP 连接发送。非持久性连接:每个请求/…

我们的目标是星辰大海

一:个人介绍 我是一名大二学生,专业也和计算机相关。我希望借助csdn这个平台,记录我成长的点点滴滴。 二:我的编程目标 首先是把C语言和C学好,其次就是再巩固一下数据结构,数据库。在业余时间再学下java…

蓝天白云青山绿水还有清风吹斜阳......

迷死伟迷死帅迷死猛迷死雨..我想死你们了.这几年在外面一个人觉得做什么也没什么意思。人生得一知己。夫腹何求。过年咱们一起走吧!

我的未来是星辰大海

学习编程的开始,我接触到了C语言,程序员就好像一位剑客,身怀绝技;虽然我知道这条路会很艰难的,但我也会坚信,雨后定会出彩虹🌈🌈🌈。 刚刚接触编程的我,对这…

大海啊,夏天啊,全是腿啊

知乎还是很友好的 总体来说没啥难度 简单说下思路 1.评论是动态加载的 直接找json接口 2.分析接口参数,我测试的时候一次最多能拿20条数据(不过我还是一条一条拿的) 3.循环发送请求,其实可以先把评论数抓下来再for range 我只是比…

HTML系列

快捷键 表格快捷键:table>trn>tdn{a}(n行n列,内容均为a)无序列表快捷键:ul>li*n(n代表无序列表的数量) 对应表格快捷产出的样式(不用管table内的参数设置,这里…

美丽的天空

站在城市的中央,我感觉很烦躁,来来往往的车辆在马路上穿梭,让人们感到头晕目眩,在这个城市里,我最喜欢去一个地方,那就是高楼大厦的楼顶,因为在那里,我听不到这些吵闹的声音.只有蓝蓝的天空陪伴着我,那一刻,我可以把一切烦心事都从楼顶抛向天空,让天空倾听我的烦心事,让他为我分…

面朝大海 春暖花开

从明天起,做一个幸福的人 喂马,劈柴,周游世界 从明天起,关心粮食和蔬菜 我有一所房子,面朝大海,春暖花开 从明天起,和每一个亲人通信 告诉他们我的幸福 那幸福的闪电告诉我的 我将…