解决Zabbix4 history_uint.ibd数据库过大问题
Zabbix数据库太大是因为histroy表记录了详细的历史数据,所以需要定期进行清理,这里设置自动清理7天前的数据
查看占用容量
cd /var/lib/mysql/zabbix ls -lh|grep G
创建清理脚本
vim zabbix_clear.sh 添加 #!/bin/bash User="root" Passwd="mysql密码" Date=`date -d $(date -d "-7 day" +%Y%m%d) +%s` #获取7天前时间戳 $(which mysql) -u${User} -p${Passwd} -e " use zabbix; DELETE FROM history WHERE clock < $Date; optimize table history; DELETE FROM history_str WHERE clock < $Date; optimize table history_str; DELETE FROM history_uint WHERE clock < $Date; optimize table history_uint; DELETE FROM trends WHERE clock < $Date; optimize table trends; DELETE FROM trends_uint WHERE clock < $Date; optimize table trends_uint; DELETE FROM events WHERE clock < $Date; optimize table events; "
运行脚本
chmod 777 zabbix_clear.sh ./zabbix_clear.sh
设置计划任务
crontab -e 添加 0 5 * * 1 /root/zabbix_clear.sh > /dev/null 2>&1
清理后是有一定的效果,但是不建议设置这么短的清理时间间隔,因为这样清理完一周前zabbix记录的问题记录,也将会被清理掉
本站所有文章均可随意转载,转载时请保留原文链接及作者。