Използвайки Elasticsearch за съхранение на логовете на бизнес системата, всеки ден се генерира нов индекс според датата, има милиони документи всеки ден, ако индексът на Elasticsearch не се почисти навреме, това ще създаде голямо пространство на диска, ще натовари много диска и скоростта на търсене ще стане по-бавна. Преди това ръчно почиствахме индексите на ESs и използвахме shell скриптове за редовно почистване, но ES може да създаде политика за жизнения цикъл на индекса, която да ни помогне да изтрием стари исторически индекси.
Версията на Elasticsearch, използвана в тази статия, е: 7.10.2
Днес е 2022-03-11 и можете да видите, че индексът и документите за януари 2022 все още съществуват, както е показано на фигурата по-долу:
Създайте шаблон за индекс
Отворете администраторския панел на Kibana, кликнете върху Index Management -> Index Template ->, за да създадете индексен шаблон със следното име:logger-template, индексният модул запълва индексите, които трябва да бъдат съпоставени, и след това преминава до следващата стъпка, както е показано на фигурата по-долу:
Забележка: При създаване на нов индекс в Elasticsearch, шаблонът автоматично ще бъде съвпаднат, за да завърши основната част на индекса. Тоест, при създаване на itsvse-2022-03-13 индекса, той ще съвпадне с версията на logger-template и след това ще изпълни правилата, зададени от шаблона.Историческите индекси (дори и да съвпадат с шаблони) не са свързани с индексни шаблони!!! В тази статия,Индекси, които не са създадени въз основа на шаблон, не могат да бъдат автоматично изтривани。
Създаване на политика за жизнения цикъл на индекса
Отворете администраторския панел на Kibana и кликнете на Index Lifecycle Policy ->, за да създадете политика, както е показано на следното изображение:
Попълване на име"авто-почистване-30-дневни логери, махни отметката Активиране на текущите актуализации, както е показано на следната фигура:
Отворете фазата на изтриване, за да почистите автоматично индексите до преди 30 дни, както е показано на следното изображение:
Накрая, добавете политиката към шаблона на индекса, както е показано на следното изображение:
На този етап новосъздаденият индекс ще бъде автоматично запазен за 30 дни, индексът след 30 дни ще бъде изтрит, а историческият индекс ще трябва да се почисти ръчно!! За ръчно изтриване на индекс, вижте на:
Прегледайте шаблона за индекс, който току-що сте създали, който ще бъде приложен към крайния шаблон, съвпадащ с индекса. Подробностите са следните:
{ "template": { "настройки": { "index": { "жизнен цикъл": { "Име": "Авто-почистване-30-дневни логове" } } }, "псевдоними": {}, "mappings": {} }
}
Прегледайте интерфейса за конфигурация на политики, например:http://192.168.1.182:9200/_ilm/policy/auto-clean-30-days-logger?pretty
{ "auto-clean-30-days-logger" : { "версия" : 1, "modified_date" : "2022-03-11T06:26:01.972Z", "policy" : { "фази" : { "гореща" : { "min_age" : "0ms", "действия" : { "set_priority" : { "Приоритет" : 100 } } }, "delete" : { "min_age" : "30d", "действия" : { "delete" : { "delete_searchable_snapshot" : вярно } } } } } }
}
ILM (Управление на жизнения цикъл на индекса)
Нашата нова политика за жизнения цикъл на индекса се изпълнява чрез анкетиране с ограничено време.
ILM Service провежда анкети за политиката за изпълнение на заден план:
ILM дефинира четири етапа от жизнения цикъл: Hot: Активно обновявам и правя заявки към индекса. Топло: Без повече обновяване на индекси, но все още заявки. студено: Няма повече обновени индекси, малко запитвания. Информацията все пак трябва да бъде търсима, но е напълно нормално, ако заявките са по-бавни. Изтриване: Индексът вече не е необходим и може да бъде безопасно изтрит.
Периодична операция на ILM (indices.lifecycle.poll_interval),По подразбиране са 10 минутида се провери дали индексът отговаря на критериите на политиката и да се предприемат необходимите стъпки. За да се избегнат състезателни ситуации, ILM може да се наложи да се изпълнява няколко пъти, за да се изпълнят всички необходими стъпки за изпълнение на действие. Така че, дори ако indices.lifecycle.poll_interval е настроен на 10 минути и индексът е съвместим с прехвърлянето, може да отнеме 20 минути за завършване на прехвърлянето. Например, ако зададем повече от 10 документа за прехвърляне, но тъй като този процес не се реализира веднага, 11-та и 12-та статия може да попаднат в предишния индекс, а новосъздадените документи няма да попаднат в новия индекс, докато прехвърлянето не бъде успешно.
Настройки за управление на жизнения цикъл на индекса в Elasticsearch:Входът към хиперлинк е видим.
Вижте статуса на ILM
Днес е 2022-03-13, автоматично се създават 2 индекса всеки ден, вече можеш да видиш създадените индексиПолиците се свързват автоматично, както е показано на фигурата по-долу:
(Край)
|