elasticsearch-数据自动删除
近我使用elasticsearch作为日志的存储分析引擎。用来存储团队开发人员的日志。使用es的过程中,索引越来越多,没有及时删除,就导致集群某台实例oom了。
解决办法:
编写一个shell脚本,然后使用linux的crontab,每天0点执行下。
1.寻找索引的规律
我们的日志索引格式如下:
以logstach开头,以年.月.日结尾
于是,我就想到使用正则匹配,即 logstash-*-12.15.11。
2.编写shell脚本
#!/bin/bash
echo "start delete es data"
echo `date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"`
dateStr=`date -d -32day +%Y.%m.%d`
echo delete time is ${dateStr}
#`curl -XDELETE 'http://10.240.47.81:9200/logstash-v4_insert_log-"${dateStr}'`
echo curl -XDELETE 'http://10.240.47.81:9200/logstash-*-'${dateStr}
result=`curl -XDELETE 'http://10.240.47.81:9200/logstash-*-'${dateStr}`
sleep 3
echo delete result ${result}
相关文章