zabbix 清理歷史數據

    項目上線不到一個月,zabbix數據竟然快100G,監控項太多,數據量太大,zabbix負載重,暫時不想升級硬件,只好內部挖掘下,清除下歷史數據;通常保留1個月的數據,zabbix這個項目只是作監控報警用,數據保留太多沒太大參考意義;mysql

    通常都是這幾個表太大, history, history_uint,history_log,有的直接了當直接清空表,簡潔方便,不過要是有人須要參考數據,那還蠻尷尬的;有的作一個獨立分表,作存儲過程,蠻高效,不過項目不同只作簡單監控沒必要那麼麻煩;nginx

套路都同樣:停掉zabbix,mysql添加skip new以便於刪除數據後壓縮存儲空間,截取須要清除的時間點:sql

root@Testl]$ date +%s -d"20160929"session

1475078400ide

mysql> delete from history where clock<1475078400;ui

Query OK, 36093 rows affected (43.64 sec)spa

 

mysql> delete from history_uint whereclock < 1475078400;blog

Query OK, 21501392 rows affected (25 min51.48 sec)ip

 

mysql> optimize table history;it

Query OK, 12175692 rows affected (5 min9.16 sec)

Records: 12175692  Duplicates: 0 Warnings: 0

 

mysql> optimize table history_uint;

Query OK, 145195609 rows affected (54 min29.07 sec)

Records: 145195609  Duplicates: 0 Warnings: 0

漫長時間等待之後看下效果:

原來數據:

-rw-rw---- 1 mysql mysql 1.4G Oct 28 13:23history.ibd

-rw-rw---- 1 mysql mysql  12M Oct 28 13:23 items.ibd

-rw-rw---- 1 mysql mysql  96M Oct 28 13:23 events.ibd

-rw-rw---- 1 mysql mysql  17G Oct 28 13:23 history_uint.ibd

-rw-rw---- 1 mysql mysql  56G Oct 28 13:23 history_log.ibd

-rw-rw---- 1 mysql mysql 252M Oct 28 13:23 trends_uint.ibd

-rw-rw---- 1 mysql mysql  72M Oct 28 13:23 trends.ibd

-rw-rw---- 1 mysql mysql 112K Oct 28 13:59sessions.ibd

壓縮中:

縮進過程生成/#sql-5f11_3.ibd文件,做業完畢就是history_uint.ibd文件;

find -size +50M -exec ls -lh {} \;

-rw-rw---- 1 mysql mysql 960M Oct 28 14:42./history.ibd

-rw-rw---- 1 mysql mysql 9.2G Oct 28 15:31./#sql-5f11_3.ibd

-rw-rw---- 1 mysql mysql 56G Oct 28 13:23./history_log.ibd

-rw-rw---- 1 mysql mysql 96M Oct 28 13:23 ./events.ibd

-rw-rw---- 1 mysql mysql 252M Oct 28 13:23./trends_uint.ibd

-rw-rw---- 1 mysql mysql 72M Oct 28 13:23./trends.ibd

-rw-rw---- 1 mysql mysql 17G Oct 28 14:59./history_uint.ibd

最終刪兩個表之後數據:

zabbix]$ find -size +50M -execls -lh {} \;

-rw-rw---- 1 mysql mysql 960M Oct 28 15:42./history.ibd

-rw-rw---- 1 mysql mysql 56G Oct 28 15:42./history_log.ibd

-rw-rw---- 1 mysql mysql 96M Oct 28 15:42./events.ibd

-rw-rw---- 1 mysql mysql 252M Oct 28 15:41./trends_uint.ibd

-rw-rw---- 1 mysql mysql 72M Oct 28 15:41./trends.ibd

-rw-rw---- 1 mysql mysql 11G Oct 28 15:42./history_uint.ibd

完了之後,重啓mysqlzabbixnginx試試;

看着history_log那麼大好憂傷,準備truncate掉。之後能夠作個腳本,每個月按期執行刪除記錄;

原文連接:http://xpu2001.blog.51cto.com/890980/1866927

相關文章
相關標籤/搜索