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
    	

Leave a Reply

Your email address will not be published. Required fields are marked *