Використовуючи Elasticsearch для зберігання журналів бізнес-системи, щодня генеруватиметься новий індекс відповідно до дати, щодня мільйони документів, якщо індекс Elasticsearch не очистити вчасно, це створить великий простір на диску, створить великий тиск на диск, і швидкість пошуку також зменшиться. Раніше ми вручну очищали індекси ES, регулярно використовували 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": { "життєвий цикл": { "Name": "Auto-clean-30-days-logger" } } }, "псевдоніми": {}, "відображення": {} }
}
Перегляньте інтерфейс конфігурації політик, наприклад: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", "actions" : { "set_priority" : { "Пріоритет": 100 } } }, "delete" : { "min_age" : "30d", "actions" : { "delete" : { "delete_searchable_snapshot" : правда } } } } } }
}
ILM (Управління життєвим циклом індексу)
Наша нова політика життєвого циклу індексу реалізується через опитування з обмеженням часу.
ILM Service опитує політику виконання у фоновому режимі:
ILM визначає чотири стадії життєвого циклу: Hot: Активно оновлюю та звертаюся до індексу. Warm: Більше не оновлюю індекси, але все одно запитуємо. холод: Індекси більше не оновлюються, кілька запитів. Інформація все одно має бути пошуковою, але це нормально, якщо ці запити йдуть повільніше. Видалити: Індекс більше не потрібен і його можна безпечно видалити.
Періодична робота ILM (indices.lifecycle.poll_interval),За замовчуванням — 10 хвилинщоб перевірити, чи відповідає індекс критеріям політики, і вжити всіх необхідних заходів. Щоб уникнути гоночних ситуацій, ILM може знадобитися виконувати кілька разів для виконання всіх кроків, необхідних для виконання дії. Отже, навіть якщо indices.lifecycle.poll_interval встановлено на 10 хвилин і індекс відповідає вимогам перенесення, завершення переведення може зайняти 20 хвилин. Наприклад, якщо ми встановимо більше ніж 10 документів для перенесення, але оскільки цей процес не реалізовано одразу, 11-та та 12-та статті все одно можуть потрапити до попереднього індексу, а новостворені документи не потрапить до нового індексу, доки перехід не буде успішним.
Налаштування управління життєвим циклом індексу в Elasticsearch:Вхід за гіперпосиланням видно.
Переглянути статус ILM
Зараз 2022-03-13, щодня автоматично створюються 2 індекси, ви вже бачите створені індексиПолітики автоматично асоціюються, як показано на рисунку нижче:
(Кінець)
|