【发布时间】:2020-05-08 14:07:48
【问题描述】:
我已对我的 fluentd.* 索引设置了一个简单的 ILM 策略,以便在(用于测试 - )短时间内删除。
工业光魔:
PUT _ilm/policy/fluentd
{
"policy": {
"phases": {
"hot": {
"min_age": "0ms",
"actions": {
"rollover": {
"max_age": "1d",
"max_size": "1gb"
},
"set_priority": {
"priority": 100
}
}
},
"delete": {
"min_age": "4d",
"actions": {
"delete": {}
}
}
}
}
}
索引模板:
PUT _template/fluentd
{
"order": 0,
"index_patterns": [
"fluentd.*"
],
"settings": {
"index": {
"lifecycle": {
"name": "fluentd"
}
}
},
"aliases": {
"fluent": {}
}
}
通过这些设置,我预计 ES 会删除 5-6 天之前的索引,但 ES 中仍有 3 周前的索引。目前,它表示该 ILM 政策有 108 个链接索引。
它实际上在做什么,它似乎根本没有做任何事情......如何在 x 天后删除索引?
我首先尝试使用“索引模板”,但它没用,它不会将设置应用于每个索引(可能是但仅在创建时????)。
然后我手动将 ILM 放在索引上(另一个错误:您无法选择所有索引并点击“添加 ILM 策略”-您需要逐个添加策略)这需要我单击大约 600 次.
现在的问题是,我定义了“热”阶段但它没有触发(它有问题?) - 因为热阶段没有触发(我设置为“创建索引后 1 天后翻转”) - 删除阶段也没有。当我删除热阶段并将 ILM 再次应用于索引时,仅删除 - 它起作用了!但是添加和删除所有这些都是错误的,我得到了糟糕,这里和那里出了点问题。
我不明白为什么当我更改 ILM 策略中的某些内容时,我必须删除 ILM 并将其重新应用到每个索引。 1000% 不方便。
ES 确实需要做一些工作,它仍然是测试版,我得到了很多状态码 500,尽管我直接在 Elastic Cloud 上使用最新版本。
【问题讨论】:
-
我认为您需要将策略应用于索引,请查看this
-
@ᴀʀᴍᴀɴ 将 ILM 应用于索引和将 ILM 链接到索引有什么区别?因为它们已经关联(Kibana 正在确认这一点)。
-
将 ILM 链接到索引是什么意思?您能在这里分享一下您是如何将此政策应用于索引
fluentd.*的吗? -
更新问题并添加最后一条评论以供其他用户查看您到目前为止所做的工作。
-
@ᴀʀᴍᴀɴ 我将删除阶段设置为 14 天,但它也删除了 5 天前创建的索引。我想我设置了一个 cronjob 来删除旧数据,这个 ILM sh*t 太错误了。
标签: elasticsearch elasticsearch-indices elastic-cloud