zabbix數據庫清理

轉載自:https://blog.51cto.com/hwg1227/2360132
zabbix數據庫清理

【起因】

zabbix 由於監控條目過多,模板套用不當導致歷史數據過大, 因此導致磁盤空間暴漲, 現在準備清理數據庫。

【解決思路】

1,先停止數據庫服務

2,停止zabbix服務

3,進入數據庫存儲路徑/var/lib/mysql

4,修改 my.cnf配置

5,重啓數據庫

6,分析history表

7,按照時間戳刪除兩週前數據方法或者是更久之前的文件

8,啓動 mysql,zabbix,httpd 服務

9,縮減後對比存儲空間

10,檢查zabbix服務是否運行正常

【解決步驟】

1,先停止數據庫服務

[root@zabbix ~]# systemctl stop mysqld
2,停止zabbix服務

[root@zabbix ~]# systemctl stop zabbix-server.service
3,進入數據庫存儲路徑/var/lib/mysql

[root@zabbix ~]# cd /var/lib/mysql/zabbix
[root@zabbix zabbix]#du -sh *
發現兩個最大的文件history, history_unit
2個history文件一共用去20G左右空間
[root@zabbix zabbix]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 28G 23G 5.0G 83% /
devtmpfs devtmpfs 4.2G 0 4.2G 0% /dev
tmpfs tmpfs 4.2G 0 4.2G 0% /dev/shm
tmpfs tmpfs 4.2G 9.3M 4.2G 1% /run
tmpfs tmpfs 4.2G 0 4.2G 0% /sys/fs/cgroup
/dev/sda1 xfs 1.1G 173M 891M 17% /boot
tmpfs tmpfs 838M 0 838M 0% /run/user/0
4,修改 my.cnf配置

vim /etc/my.cnf
添加如下內容:skip-new
5,重啓數據庫

[root@zabbix ~]# systemctl restart mysqld

6,分析history表

[root@zabbix ~]#mysql -uroot -p
mysql >show databases;
mysql >use zabbix;
mysql> desc history;
mysql> select max(itemid) from history;
根據時間戳刪除文件
7,按照時間戳刪除兩週前數據方法或者是更久之前的文件

[root@zabbix ~]# date +%s -d "Mar 2, 2019 00:00:00"
1551456000
我這裏是因爲數據沒有太重要關係,所以我就選擇truncate來刪除歷史文件。
mysql> truncate table history;
mysql> truncate table history_uint;
當然你也可以使用delete from table history where <1551456000;來清除數據庫文件。
8,啓動 mysql,zabbix,httpd 服務

[root@zabbix ~]# systemctl restart mysqld
[root@zabbix ~]# systemctl start zabbix
[root@zabbix ~]# systemctl start httpd
9,縮減後對比存儲空間

[root@zabbix zabbix]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 28G 9.7G 19G 35% /
devtmpfs devtmpfs 4.2G 0 4.2G 0% /dev
tmpfs tmpfs 4.2G 0 4.2G 0% /dev/shm
tmpfs tmpfs 4.2G 9.3M 4.2G 1% /run
tmpfs tmpfs 4.2G 0 4.2G 0% /sys/fs/cgroup
/dev/sda1 xfs 1.1G 173M 891M 17% /boot
tmpfs tmpfs 838M 0 838M 0% /run/user/0
10,檢查zabbix服務是否運行正常

[root@zabbix zabbix]# netstat -lantup |grep zabbix
tcp 0 0 0.0.0.0:10051 0.0.0.0: LISTEN 8417/zabbix_server
tcp6 0 0 :::10051 :::
LISTEN 8417/zabbix_server
[root@zabbix zabbix]# netstat -lantup |grep mysqld
tcp6 0 0 :::3306 ::: LISTEN 29876/mysqld
[root@zabbix zabbix]# netstat -lantup |grep httpd
tcp6 0 0 :::80 :::
LISTEN 2620/httpd
tcp6 0 0 :::443 :::* LISTEN 2620/httpd

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章