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,问题解决。
第三次问题解决
最后在同事的协助下最终确定了该问题的原因。

浙公网安备 33010602011771号