zabbix数据库清理mysql
【原由】
sql
zabbix 因为监控条目过多,模板套用不当致使历史数据过大, 所以致使磁盘空间暴涨, 如今准备清理数据库。数据库
【解决思路】
vim
1,先中止数据库服务centos
2,中止zabbix服务bash
3,进入数据库存储路径/var/lib/mysqlapp
4,修改 my.cnf配置tcp
5,重启数据库ide
6,分析history表ui
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