zabbix自动清理30天前的数据
zabbix属于一个细度化的监控工具,其入库数据随着细度的增加相应的入库数据量也会较大,当数据量到一定时候的时候其反映速度会比较慢,尽管其监控服务在配置时可以指定数据的保存周期, 但是了解下通过直接操作数据库进行数据删除还是有必要的。
通过数据库进行删除的脚本如下:
1#!/bin/bash
2User="root"
3Passwd="361way"
4Date=`date -d $(date -d "-30 day" +%Y%m%d) +%s` #取30天之前的时间戳
5$(which mysql) -u${User} -p${Passwd} -e "
6use zabbix;
7DELETE FROM history WHERE 'clock' < $Date;
8optimize table history;
9DELETE FROM history_str WHERE 'clock' < $Date;
10optimize table history_str;
11DELETE FROM history_uint WHERE 'clock' < $Date;
12optimize table history_uint;
13DELETE FROM trends WHERE 'clock' < $Date;
14optimize table trends;
15DELETE FROM trends_uint WHERE 'clock' < $Date;
16optimize table trends_uint;
17DELETE FROM events WHERE 'clock' < $Date;
18optimize table events;
19"
注:其中histroy是详细的历史数据,trends是图表趋势数据。一般情况下,根据我的自定义,会将histroy数据保留7天,trend数据保留365天。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/delete-zabbix-histroy-data/3826.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.