创建由应用而非 Elasticsearch 管理的生命周期索引的更好方法是什么?

what is the better way to create a lifecycle index managed by app not Elasticsearch?

我正在使用 Elasticsearch 7.15 和 Kibana 来搜索文本。我创建索引的方式是每日索引。每次我的应用程序尝试将数据保存到 Elasticsearch 时,它都会创建一个以日期为后缀的索引:logs-2022-01-10.

我需要创建一个索引生命周期来删除超过 30 天的索引。我看过一些教程,例如:https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-index-lifecycle-management.html 但它都是关于创建索引模板并让 Elasticsearch 在达到特定阈值时创建索引。

有没有一种简单的方法可以在不创建索引模板的情况下创建基于索引名称模式的删除策略?

请检查 Apply Lifecycle Policy Manually,您可以使用它在没有模板的情况下直接将 ILM 策略分配给索引。以下是您可以设置为手动应用策略索引的示例配置。

PUT test-index
{
  "settings": {
    "number_of_shards": 1,
    "number_of_replicas": 1,
    "index.lifecycle.name": "my_policy" 
  }
}

要从 Kibana 创建生命周期策略,请打开菜单并转到 堆栈管理 > 索引生命周期策略。单击创建策略

单击微小的删除图标以启用删除阶段。

唯一的方法是使用老一代工具 Elasticsearch Curator,或者 DIY