zabbix自动清理30天前的数据

转:http://www.361way.com/delete-zabbix-histroy-data/3826.html

zabbix属于一个细度化的监控工具,其入库数据随着细度的增加相应的入库数据量也会较大,当数据量到一定时候的时候其反映速度会比较慢,尽管其监控服务在配置时可以指定数据的保存周期, 但是了解下通过直接操作数据库进行数据删除还是有必要的。

通过数据库进行删除的脚本如下:

 

  1. #!/bin/bash
  2. User="root"
  3. Passwd="361way"
  4. Date=`date -d $(date -d "-30 day" +%Y%m%d) +%s` #取30天之前的时间戳
  5. $(which mysql) -u${User} -p${Passwd} -e "
  6. use zabbix;
  7. DELETE FROM history WHERE 'clock' < $Date;
  8. optimize table history;
  9. DELETE FROM history_str WHERE 'clock' < $Date;
  10. optimize table history_str;
  11. DELETE FROM history_uint WHERE 'clock' < $Date;
  12. optimize table history_uint;
  13. DELETE FROM trends WHERE 'clock' < $Date;
  14. optimize table trends;
  15. DELETE FROM trends_uint WHERE 'clock' < $Date;
  16. optimize table trends_uint;
  17. DELETE FROM events WHERE 'clock' < $Date;
  18. optimize table events;
  19. "

 

注:其中histroy是详细的历史数据,trends是图表趋势数据。一般情况下,根据我的自定义,会将histroy数据保留7天,trend数据保留365天。

posted @ 2017-09-14 15:45  有肉的三明治  阅读(822)  评论(0编辑  收藏  举报