FAQ:zabbix 频繁丢失数据问题分析处理

结论

最终确定的原因是被监控的主机上起了多个agentd程序,造成一批数据入库时有重复的数据导致入库失败,数据丢失。

问题描述

在 grafana上看到的绘图断断续续。

分析过程

1 性能瓶颈

一开始以为是哪里的性能遇到瓶颈,把服务器和zabbix的监控数据看了一遍,各个指标都没有问题。

2 上网百度

没有找到解决问题的明确思路。

3 翻看日志

query failed: [1062] Duplicate entry '109843-1680812604-22807' for key 'PRIMARY' [insert into history

3.1 日志分析

先过滤日志、取出所有报错的监控项,再去数据库中查询,得到监控项的主机信息,发现所有主机都是同一个组里的。

4 抓包

发现确实有重复的数据包,而且配置是每半分钟收集一次的指标数据,每隔10秒就收到一个数据。

5 检查zabbix配置和数据库表

并没有问题,于是将问题发到社区论坛上求助。

6 社区求助

社区大佬给我发了个相关问题链接,链接里介绍了"zabbix 删除、重新添加主机可能会导致数据库中出现脏数据"的情况

7 得到提示

之前确实批量删除又重建过这一组主机,还操作了两次,应该是这个操作出现了脏数据。

第一次问题解决

把有问题的那一组主机删除、再重新添加一次

过了几天发现问题又出现了。

这次进行更细致的抓包,分析每一个报文

发现:

  • 正常情况下,客户端每两分钟向服务端请求一次全量的监控列表;
  • 在数据重复一遍的节点上,每两分钟请求了两次

第二次问题解决

重启所有问题节点的 zabbix_agentd,问题解决。

第三次问题解决

最后在同事的协助下最终确定了该问题的原因。

posted @ 2023-04-07 10:53  武平宁  阅读(425)  评论(0)    收藏  举报