一、背景
ELK系统里面存放了大量日志索引,只需要保留15天的日志索引,希望到期自动删除对应的索引;
本文的解决方案是给索引添加生命周期策略,不需要手动设置定时器去调用api删除;
二、设置索引生命周期策略(ILM)
创建一个新的策略
记得关掉热阶段的滚动更新
开启删除阶段,设置过期时间,快照可以不用
三、手动给索引设置删除策略
如图
四、查看结果
如果过期时间比较短,像我这里测试是2分钟,会显示当前阶段是delete;
如果过期时间比较长,例如15天,则会出现hot阶段,具体原因查看文章末尾的官方链接;
到了delete阶段,过几分钟就会被删除了
五、自动给索引添加删除策略
但是实际项目中日志索引是自动生成的,那应该怎么自动添加删除策略呢?
我这里使用的是logstash7.9.2把日志文件传到elasticsearch中,默认情况下logstash会有一个索引创建模板,如图
默认情况下是没有ILM策略的,我们给它设置刚刚创建的策略,这样通过logstash传输创建的索引就会附带ILM策略;
当然还有一种方法是在logstash的output模块中设置,感兴趣可以查看官方文档
https://www.elastic.co/guide/en/logstash/current/plugins-outputs-elasticsearch.html#plugins-outputs-elasticsearch-ilm_enabled
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_41631365/article/details/109773675