elasticsearch 索引旋转时,弹性生命周期策略丢失

u5rb5r59  于 2023-05-06  发布在  ElasticSearch
关注(0)|答案(1)|浏览(166)

我有一个索引模板和一个生命周期策略,以及一个按以下方式创建的索引,以将生命周期策略附加到该索引:

body = {
            "settings": {
                "index.lifecycle.name": policy_name,
                "index.lifecycle.rollover_alias": index_name
            },
            "aliases": {
                index_name: {
                    "is_write_index": True
                }
            }
        }

该政策有一个热阶段,根据指数的大小或年龄进行展期。
然而,我发现当索引被滚动时,即。从index-name-000001index-name-000002,新索引没有附加生命周期策略-这意味着它将不再滚动并保持大小扩展!我如何以自动化的方式修复它?

ct2axkht

ct2axkht1#

问题是您没有任何_index_template_template。我建议你使用datastream indices。下面是一个很好的例子:

创建ILM策略

PUT _ilm/policy/delete_after_30_days
{
  "policy": {
    "phases": {
      "hot": {
        "actions": {
          "rollover": {
            "max_age": "30d",
            "max_primary_shard_size": "50gb"
          }
        }
      },
      "delete": {
        "min_age": "30d",
        "actions": {
          "delete": {}
        }
      }
    }
  }
}

创建模板

PUT _index_template/test_index_template
{
  "index_patterns": ["test-*"],
  "data_stream": {},
  "template": {
    "mappings": {},
    "settings": {
      "index.lifecycle.name": "delete_after_30_days"
    }
  }}

创建索引

POST test-index/_bulk
{ "create":{ } }
{ "@timestamp": "2099-05-06T16:21:15.000Z", "message": "192.0.2.42 - - [06/May/2099:16:21:15 +0000] \"GET /images/bg.jpg HTTP/1.0\" 200 24736"}

POST test-index/_rollover

相关问题