Политика жизненного цикла индекса
Я хотел бы создать политику «горячее-теплое», и индекс должен обновляться, когда размер индекса составляет 20 ГБ или max_age равен 30 дням, НО, если условие размера возникает до условия возраста, индекс должен обновляться, но данные должны оставаться в горячем узле, пока не наступит условие max_age. а потом данные должны быть в теплых данных 5 месяцев и потом удаляться.
Пример: если через 15 дней индекс составляет 20 ГБ, индекс обновляется, но не покидает узел горячих данных до тех пор, пока ему не исполнится 30 дней, поэтому следует оставаться в горячих данных еще 15 дней, прежде чем перейти в теплые данные (надеюсь, я объясню это хорошо :sweat_smile:)
ТАК Я создал эту политику
PUT _ilm/policy/hot-warm-cold-delete-6months-policy
{
"policy": {
"phases": {
"hot": {
"actions": {
"rollover": {
"max_size":"20gb",
"max_age":"30d"
},
"set_priority": {
"priority": 50
}
}
},
"warm": {
"min_age": "30d",
"actions": {
"forcemerge": {
"max_num_segments": 1
},
"shrink": {
"number_of_shards": 1
},
"allocate": {
"require": {
"data": "warm"
}
},
"set_priority": {
"priority": 25
}
}
},
"delete": {
"min_age": "150d",
"actions": {
"delete": {}
}
}
}
}
}
но если я правильно понимаю, то это значит, что индекс будет отправлен на теплые данные через 30 дней ролловера а не с даты создания, и работает он не так как я хочу именно
Не могли бы вы сказать мне, возможно ли то, что я пытаюсь сделать, с ILM?
Спасибо за вашу помощь
1 ответ
Вы можете обойти дату переноса с помощью:
Если указано, это временная метка, используемая для расчета возраста индекса для его фазовых переходов. Используйте этот параметр, если вы создаете новый индекс, содержащий старые данные, и хотите использовать исходную дату создания для расчета возраста индекса. Задается как значение эпохи Unix.
Вы можете установить это значение вручную или использоватьindex.lifecycle.origination_date
index.lifecycle.parse_origination_date
из имени индекса:
Установите значение true, чтобы проанализировать дату создания из имени индекса. Эта дата происхождения используется для расчета индекса возраста для его фазовых переходов. Имя индекса должно соответствовать шаблону
^.*-{date_format}-\\d+
, гдеdate_format
являетсяyyyy.MM.dd
а конечные цифры необязательны. Например, перевернутый индекс обычно соответствует полному формату.logs-2016.10.31-000002
. Если имя индекса не соответствует шаблону, создание индекса завершается ошибкой.
Таким образом, с правильными именами индексов это должно быть выполнимо (хотя это IMO скорее обходной путь, чем функция).