lixiaolong 发表于 2019-1-20 08:44:03

zabbix监控——清理历史数据

  zabbix运行一段时间之后,会留下大量的历史 数据,会发现zabbix的数据库一直在增大。运行3个月后笔者的数据库达到了5.7G,可能造成系统性能下降,查看历史数据时查询速度缓慢。
  zabbix里面最大的表就是历史记录的表了,网上很多人都是写全部清空这些表的数据,其实我们可以按时间来删除里面的历史记录。
  里面最大的表是 “history” 和 “history_uint”两个表;
http://blog.chinaunix.net/attachment/201402/28/29179844_1393550864IFNG.jpg
  zabbix里面的时间是用的时间戳方式记录,我们可以转换一下,然后根据时间戳来删除;
  比如要删除2014年的1月1号以前的数据
  1、先将标准时间转换为时间戳
  # date +%s -d "2014-01-01 00:00:01"
  1388505601
  2、mysql清理数据
  点击(此处)折叠或打开

[*]  mysql> DELETE FROM `history_uint` WHERE `clock` < 1388505601;
[*]
[*]  mysql> optimize table history_uint;
  注:执行过第二行命令之后可能会需要很长的一段时间,中间不要中断,否则容易丢失数据。
  这是比较实用的按照时间段删除历史数据,也有方法可以全部清除历史监控数据
  zabbix清空历史记录mysql数据库操作:
  点击(此处)折叠或打开

[*]  mysql -uroot -p 输入mysql密码
[*]  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;
  注意:此操作会清空zabbix所有历史监控数据,请操作之前备份好数据库!

页: [1]
查看完整版本: zabbix监控——清理历史数据