Zabbix的使用经验
文中谈到的zabbix的版本为:zabbix1.6.3
随着线上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;
- truncate table trends;
- optimize table trends;
- truncate table trends_uint;
- optimize table trends_uint;
- truncate table events;
- optimize table events;
(注:此方法在1.6.3版本上应用正常,其它版本未做测试,如因此方法,丢失数据,本人概不负责,操作前切记,先备份数据库)
【编辑推荐】