天天看點

zabbix曆史資料mysql_處理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‘;