zabbix数据库瘦身

随着线上zabbix系统运行的时间越长,zabbix的数据库也在逐渐增大,这时我们会发现,越到后面,备份数据库时间就花的越长.特别是上千台机器的情况,然而在大数据量的备份过程中,经常会出现检测数据延迟,导致检测出错,产生不必要的误报.为了不产生误报,只能停止zabbix_server服务,进行备份.如果恰巧在这段时间,线上的应用服务器出现了故障,将不能及时发现与处理故障.如何才能实现快速的备份zabbix数据库,而且可以在不停止服务的情况下完成备份呢?
其实zabbix数据库里面最大的表,就是历史记录的表了, 这些表中的数据,全都存储着之前所检测到的历史数据.所以,现在就很清楚了,你可以选择清空这些表,这样做的话,所有客户端的历史检测数据,都会被清空,空间自然就小了,如果你不想失去这些数据的话,那么也可以在备份数据库的时候,选择不备份这几张表.或是只备份这几张表的表结构,里面的数据不做备份.选择哪一种,可以根据实际情况而定.
下面的操作是清空历史数据的表,主要就是以下这几张表,清空后,备份一下数据库,只要不到三分钟的时间,就可以搞定了…..

use zabbix;
truncate table history;
optimize table history;
truncate table history_str;
optimize table history_str;
truncate table history_uint;
optimize table history_uint;


你可能感兴趣的:(数据库,zabbix,瘦身)