如下图所示,业务系统的日志每天创建一个index,由于硬盘有限
现在的需求:定期删除7天以前的index,即保留最近7天的(每7天运行一次,批量删除历史index)
目前的测试方案有
1)在es/data/nodes/0/indexs目录下,按index文件创建日期删除,结果不成功,
1.1)es服务运行时,由于es是集群,删除后会自动恢复
1.2)es服务停止,删除index文件,es重启后,全部index文件时间更新为当前
2) curl -XDELETE /index-2015-05-1*,可以批量删除10天的index,时间不可控
3)es-head界面删除,重复操作工作量大
2 个回复
Ricky_Lau - 码农,,
赞同来自:
1.业务通过定时调度任务去定时执行删除命令(例: java 有quartz 调度器可以实现)
2.在Linux 环境中使用crontab 通过REST API 删除无效的索引即可。
3.使用ES官方的索引管理工具,https://github.com/elastic/curator 具体的话看README里的描述。
zaqweb
赞同来自:
https://www.elastic.co/guide/e ... .html
如果你只是删除,简单点用个Java算出7天内的index 名称,调用7次delete index api 也可以完成。
~