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

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