解决Zabbix4 history_uint.ibd数据库过大问题

Zabbix数据库太大是因为histroy表记录了详细的历史数据,所以需要定期进行清理,这里设置自动清理7天前的数据


查看占用容量

cd /var/lib/mysql/zabbix
ls -lh|grep G

解决Zabbix4 history_uint.ibd数据库过大问题


创建清理脚本

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

解决Zabbix4 history_uint.ibd数据库过大问题


设置计划任务

crontab -e
添加
0 5 * * 1 /root/zabbix_clear.sh > /dev/null 2>&1


解决Zabbix4 history_uint.ibd数据库过大问题

清理后是有一定的效果,但是不建议设置这么短的清理时间间隔,因为这样清理完一周前zabbix记录的问题记录,也将会被清理掉


更新日期: 2019年07月23日
文章标签: ZabbixMySQL
文章链接: https://www.vos.cn/db/339.html  
版权说明:如非注明,本站文章均为vOS原创,转载请注明出处和附带本文链接。