Zabbix歷史數據處理辦法
方法一:本想刪除某一時間戳之前的歷史數據
date "+%s" -d "20150101"
1420041600
SELECT TABLE_NAME AS "Table", round(((data_length + index_length) / 1024 / 1024), 2) AS Size_in_MB FROM information_schema.TABLES WHERE table_schema = 'zabbix' ORDER BY Size_in_MB DESC LIMIT 10;
+----------------+------------+
| Table | Size_in_MB |
+----------------+------------+
| history_uint | 189699.00 |
| history | 111647.00 |
| trends_uint | 6322.92 |
| trends | 1822.00 |
| events | 1252.00 |
| history_str | 1044.00 |
| alerts | 96.64 |
| items | 21.42 |
| item_discovery | 6.75 |
| graphs | 5.19 |
+----------------+------------+
10 rows in set (14.15 sec)
DELETE FROM `history_uint` WHERE `clock` < 1420041600;
optimize table history_uint;
DELETE FROM `history` WHERE `clock` < 1420041600;
optimize table history;
注:此方法幾乎不可行,300G的歷史數據執行命令一個多小時還處在等待鎖表狀態。刪除的速度還沒一增長的快。
方法二:不保留歷史數據快速
一,備份除歷史數據的數據庫表
mysqldump -uroot -p'yourpassword' zabbix --ignore-table=zabbix.history_uint --ignore-table=zabbix.history --ignore-table=zabbix.trends_uint -ignore-table=zabbix.trends --ignore-table=zabbix.events --ignore-table=zabbix.history_str >/data/backup20150626.sql
二,新建數據庫
create database zabbix2 character set utf8;
GRANT ALL PRIVILEGES ON zabbix2.* TO 'zabbix'@'localhost' IDENTIFIED BY 'yourpassword';
這裏是建立的zabbix2數據庫,名字可以隨意取
三,導入原架構和新數據
mysql -uroot -p'yourpassword' zabbix2 < /root/zabbix-2.4.2/database/mysql/schema.sql
mysql -uroot -p'yourpassword' zabbix2 < /root/zabbix-2.4.2/database/mysql/images.sql
mysql -uroot -p'yourpassword' zabbix2 < /root/zabbix-2.4.2/database/mysql/data.sql
mysql -uroot -p'yourpassword' zabbix2 < /data/backup20150626.sql
如果開始沒有剔除上面忽略的4個表,這裏上面三行就不需要了。
四,修改zabbix_server連接數據庫配置文件
grep -i DBName /usr/local/zabbix/etc/zabbix_server.conf
#DBName=zabbix
DBName=zabbix2
五,修改zabbix站點zabbix.conf配置文件
grep -i database /var/www/html/conf/zabbix.conf.php
$DB['DATABASE'] = 'zabbix2';
// SCHEMA is relevant only for IBM_DB2 database
六,重啓服務
service zabbix_server restart
service mysqld restart(不重啓也可)
此方法補充:
如果想看以前的歷史數據,只需要2步即可
1,備份一份站點,修改database爲老的數據庫默認zabbix
2,web瀏覽器打開連上老數據庫的zabbix站點即可查看