处理Zabbix历史数据库办法一

一 问题描述

随着Zabbix监控的主机和监控项目增多,Zabbix的历史数据会越来越多,MySQL数据库磁盘空间很容易就爆满,同时Zabbix前端查询数据会变得越来越慢。特别是通过Zabbix的API生成自定义Screen的情况下,打开每个Screen非常慢

查看Zabbix数据库目录文件

# ls -lh|grep G
total 248G
-rw-rw---- 1 mysql mysql 4.7G May  5 21:34 alerts.ibd
-rw-rw---- 1 mysql mysql 3.4G May  5 21:34 events.ibd
-rw-rw---- 1 mysql mysql  95G May  5 21:34 history.ibd
-rw-rw---- 1 mysql mysql  25G May  5 21:34 history_text.ibd
-rw-rw---- 1 mysql mysql 112G May  5 21:34 history_uint.ibd
-rw-rw---- 1 mysql mysql 2.9G May  5 21:34 trends.ibd
-rw-rw---- 1 mysql mysql 4.3G May  5 21:34 trends_uint.ibd


整个Zabbix数据库目录大小为248G,history和history_text以及history_uint几张表就占用了大部分磁盘空间



二 解决办法

如果不想保留太长时间的历史数据,例如只保留一个月的历史数据可以使用以下方法

1.停掉zabbix server

service zabbix-server stop

2.创建新表

create table history_new like history;

create table history_uint_new like history_uint;

create table history_text_new like history_text;


3.将近期(一个月)的数据插入到新的表中

insert into history_new select * from history where clock > ‘1459785600‘;



本文出自 “Linux SA John” 博客,请务必保留此出处http://john88wang.blog.51cto.com/2165294/1770582

文章来自:http://john88wang.blog.51cto.com/2165294/1770582
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3