1. 程式人生 > >zabbix監控 如何清空歷史資料

zabbix監控 如何清空歷史資料

概述:zabbix在執行一段時間過後,會留下大量的歷史資料,我們會發現zabbix的資料庫會一直越來越大。執行三個月的zabbix的資料庫會達到10個G左右根據監控的伺服器和交換機數量有關以及模板裡面的監控項和資料。
zabbix裡面最大的就是表就是歷史記錄的表了,網上很多人都是在寫全部清空這些表的資料,其實我們可以按照時間來刪除裡面的資料。
裡面最大的表就是“history”和history_unit兩個表
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所有歷史監控資料,請操作之前備份好資料庫!