【发布时间】:2020-06-24 22:09:14
【问题描述】:
我想通过配置数据日期周期从弹性搜索中删除数据,例如,超过 30 天的数据,或者可能按大小,例如如果索引大小大于 100Mb,则删除旧数据。 我使用 logstash 将日志移动到 elasticsearch 中的一个索引。 我该怎么做?
【问题讨论】:
我想通过配置数据日期周期从弹性搜索中删除数据,例如,超过 30 天的数据,或者可能按大小,例如如果索引大小大于 100Mb,则删除旧数据。 我使用 logstash 将日志移动到 elasticsearch 中的一个索引。 我该怎么做?
【问题讨论】:
如果您想根据您的条件明确删除日志,您可以使用 delete_by_query
POST /my_logs/_delete_by_query
{
"query": {
"range": {
"date": {
"lte": <your_target_date>
}
}
}
}
【讨论】:
从当前索引中删除旧数据并不是一个简单的方法。 您可以配置 logstash 以每天创建新索引。然后您可以通过索引模式或别名访问您的所有数据。
然后您将能够根据日期删除较旧的索引而不会出现太大问题。
您可以使用 curator 自动执行这些操作 - https://www.elastic.co/guide/en/elasticsearch/client/curator/5.8/index.html
请参阅这篇关于配置 logstash 以每天创建索引的帖子 Create a new index per day for Elasticsearch in Logstash configuration
【讨论】: