AWS 弹性搜索日志轮换



我想使用 AWS elasticsearch 来存储我的应用程序的日志。由于有大量数据要输入到 AWS elasticsearch(每天 ~30GB),所以我只会保留 3 天的数据。有没有办法计划从 AWS 弹性搜索中删除数据或执行日志轮换?如果 AWS 弹性搜索存储已满,会发生什么情况?

感谢您的帮助

一种可能的方法是在输出elasticsearch中指定索引参数,类似于 logstash-%{appname}-%{date_format}"。因此,您可以使用策展人插件按天数左右删除旧索引。

这个SO几乎解释了相同的内容。希望对您有所帮助!

我假设您使用的是 AWS Amazon Elasticsearch Service?

存储类型是具有固定磁盘空间大小的 EBS 卷。如果您只想保留最近三天,我假设您有 3 个索引,就像这样

my-index-2017.01.30
my-index-2017.01.31
my-index-2017.02.01

基本上,您可以编写一些简单的脚本来删除超过 3 天的索引。使用REST API,它只是在意义上DELETE my-index-2017.01.30

我建议使用 Elasticsearch Curator 来完成这项工作。见 https://www.elastic.co/guide/en/elasticsearch/client/curator/current/delete_indices.html

我不确定服务接口本身是否有该选项。但是 Elasticsearch Curator 应该会为你完成这项工作。

2020 年更新:

AWS ES 现在支持索引状态管理,允许您定义自定义管理策略以自动执行日常任务并将其应用于索引和索引模式。您不再需要设置和管理外部进程来运行索引操作。

例如,您可以定义一个策略,该策略在 30 天后将索引移动到read_only状态,然后在 90 天后最终将其删除。

索引状态管理 - https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/ism.html

最新更新