Zabbix Timeout 设置不当导致的问题

zabbix,timeout,设置,不当,导致,问题 · 浏览次数 : 196

小编点评

## Zabbix Timeout 值设置不当导致的问题 以下是关于 zabbix Timeout 值设置不当导致的问题: 1. **主动模式与被动模式的超时时间不一致:** - 主动模式下,agent 的 timeout 值应高于 server 的 timeout 值,以便处理请求。 - 被动模式下,server 的 timeout 值应高于 agent 的 timeout值,以便处理请求。 2. **网络原因导致 TCP 建立连接时间超时:** - 即使在主动模式下,agent 也设置的 timeout 值可能足够等待响应,导致 TCP 建立连接失败。 3. **Timeout 值设置过短导致请求无法完成:** - 为了处理请求,agent 的 timeout 值可能设置得过短,导致请求无法完成。 4. **Timeout 值设置过长导致请求被错误判定为超时:** - 为了处理请求,server 的 timeout 值可能设置得过长,导致请求被错误判定为超时。 5. **网络状况和环境的影响:** - 网络状况和环境因素可能导致最终的超时时间不同。 **解决方法:** 1. **检查 agent 和 server 端的 timeout 值是否一致。** 2. **调整 agent 的 timeout 值,使其高于 server 的 timeout 值。** 3. **调整 server 的 timeout 值,使其高于 agent 的 timeout值。** 4. **考虑网络状况和环境,设置合适的 timeout 值。**

正文

哈喽大家好,我是咸鱼

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

问题

事情经过是这样的:

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

image

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 again
  8452: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 端也能够获取数据了
image

总结一下:

  • 在 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.

与Zabbix Timeout 设置不当导致的问题相似的内容:

Zabbix Timeout 设置不当导致的问题

哈喽大家好,我是咸鱼 今天跟大家分享一个关于 zabbix Timeout 值设置不当导致的问题,这个问题不知道大家有没有碰到过 ## 问题 事情经过是这样的: 把某一台 zabbix agent 的模板由原来的 `Template OS Windows by Zabbix agent` 换成了 `

构建高可用性、高性能和可扩展的Zabbix Server架构

简介 本教程讲解了一下如何设计构建一个高性能、高可靠、高扩展的Zabbix 监控集群。 架构图 架构图PDF下载: https://songxwn.com/file/Zabbix_HA.pdf Pigsty 时序数据库集群 Zabbix Server 和 Grafana的数据都是存放在数据库的,而Z

应用zabbix的实时导出(real-time export)功能

说明 zabbix作为监控软件,有时也会需要获取历史数据作进一步的分析,通常可以采用3种办法: 通过zabbix API定期获取(通过web) 通过后端数据库定期读取(通过db) 应用实时导出功能配合filebeat或其他工具获取(通过server) 对比以上三种方法: 实时性:毫无疑问,通过实时导

[转帖]zabbix监控进程和监控日志

监控日志:大家可以监控系统日志、nginx、Apache、业务日志。想用好用对,不是辣么容易。zabbix最主要的是监控日志文件中有没有某个字符串的表达式,支持日志文件正则和关键字正则,其是把日志文件中符合关键字的日志过滤出来入库,不包含的日志不采集,且只支持主动模式。 1、 zabbix日志监控表

zabbix监控进程和监控日志

zabbix监控进程和监控日志 文章目录 zabbix监控进程和监控日志一、自定义监控进程1、新建脚本存放目录2、修改zabbix_agentd.conf文件3、zabbix server端进行测试脚本4、zabbix web平台配置5、配置触发器6、测试--关闭httpd服务,测试告警信息 二、自

[转帖]Zabbix日志监控:Linux异常登录告警

as007012 2022-02-07 摘要: 本文利用zabbix的日志监控功能监控Linux的secure日志,当有用户登录失败或者用户在非常规时间登录成功时发出告警。 这里我们使用zabbix提供的\'log[file,,,,

zabbix基于容器化在UOS1050E上面的安装与使用

前言 想着能够监控一下操作系统的日志. 因为国产化的需求, 所以我这边使用了UOS1050E 安装zabbix时多次提示缺少php-json 或者是缺少一些libevent等组件. 自己尝试进行解决发现比较费时费力 想了想还是容器化进行安装吧 所以进行简单总结 严重说明 想进行监控系统和数据库日志.

[转帖]zabbix--监控 TCP 连接状态

zabbix--监控 TCP 连接状态 https://www.cnblogs.com/yanjieli/p/13294551.html 命令测试# ​ Tcp的连接状态对于我们web服务器来说是至关重要的,从TCP的连接状态中可以看出网络的连接情况,服务器的压力情况,对服务器的并发有很好的直观反映

zabbix 自动发现

哈喽大家好,我是咸鱼 昨天老大让我初始化一批服务器,吭哧吭哧弄完之后需要把这批机器添加到 zabbix 上去 但是我发现一台一台添加效率好低,而且特别繁琐,当时我没有想出有什么好的方法,今天上网搜了一下相关资料之后,发现 zabbix 还有个自动发现功能 手动添加监控主机的效率会非常低下,而 Zab

[转帖]玩转zabbix之超详细的二进制安装

https://zhuanlan.zhihu.com/p/212281069 #初始配置 #centos7添加阿里云镜像 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #安