amazon-web-services - 删除亚马逊弹性搜索中的旧索引
问题描述
我们将 AWS Elasticsearch 用于日志。日志通过 Logstash 连续流式传输。定期删除旧索引的最佳方法是什么?
我已经搜索并推荐的各种方法是:
使用 lambda 删除旧索引 - https://medium.com/@egonbraun/periodically-cleaning-elasticsearch-indexes-using-aws-lambda-f8df0ebf4d9f
使用预定的 docker 容器 - http://www.tothenew.com/blog/running-curator-in-docker-container-to-remove-old-elasticsearch-indexes/
对于“删除超过 15 天的索引”这样的基本要求,这些方法似乎有点过头了
实现这一目标的最佳方法是什么?AWS 是否提供任何我可以调整的设置?
解决方案
Elasticsearch 6.6 带来了一项名为Index Lifecycle Manager的新技术, 请参见此处。每个索引都分配有一个生命周期策略,该策略控制索引如何通过特定阶段转换,直到它们被删除。
例如,如果您要将 ATM 机群中的指标数据索引到 Elasticsearch 中,您可以定义一个策略:
- 当索引达到 50GB 时,翻转到新索引。
- 将旧索引移动到暖阶段,将其标记为只读,然后将其缩小为单个分片。
- 7 天后,将索引移至冷阶段并将其移至较便宜的硬件。
- 达到所需的 30 天保留期后,删除索引。
该技术仍处于测试阶段,但可能是从现在开始的方式。