首页 > 解决方案 > 删除亚马逊弹性搜索中的旧索引

问题描述

我们将 AWS Elasticsearch 用于日志。日志通过 Logstash 连续流式传输。定期删除旧索引的最佳方法是什么?

我已经搜索并推荐的各种方法是:

  1. 使用 lambda 删除旧索引 - https://medium.com/@egonbraun/periodically-cleaning-elasticsearch-indexes-using-aws-lambda-f8df0ebf4d9f

  2. 使用预定的 docker 容器 - http://www.tothenew.com/blog/running-curator-in-docker-container-to-remove-old-elasticsearch-indexes/

对于“删除超过 15 天的索引”这样的基本要求,这些方法似乎有点过头了

实现这一目标的最佳方法是什么?AWS 是否提供任何我可以调整的设置?

标签: amazon-web-serviceselasticsearch

解决方案


Elasticsearch 6.6 带来了一项名为Index Lifecycle Manager的新技术, 请参见此处。每个索引都分配有一个生命周期策略,该策略控制索引如何通过特定阶段转换,直到它们被删除。

例如,如果您要将 ATM 机群中的指标数据索引到 Elasticsearch 中,您可以定义一个策略:

  1. 当索引达到 50GB 时,翻转到新索引。
  2. 将旧索引移动到暖阶段,将其标记为只读,然后将其缩小为单个分片。
  3. 7 天后,将索引移至冷阶段并将其移至较便宜的硬件。
  4. 达到所需的 30 天保留期后,删除索引。

该技术仍处于测试阶段,但可能是从现在开始的方式。


推荐阅读