- иорданская обувь для продажи
- 16373
|
Используя Elasticsearch для хранения журналов бизнес-системы, каждый день на основе даты будет генерироваться новый индекс, каждый день там миллионы документов, со временем, если своевременно не очищать индекс Elasticsearch, это приведет к большому дисковому пространству, вызывая большое давление на диск, скорость поиска также станет медленнее. Ранее мы вручную очищали индексы es и использовали shell-скрипты для регулярной очистки. Более того, es может создавать политики жизненного цикла индексов, чтобы помочь нам удалить старые исторические индексы.
Версия elasticsearch, используемая в этой статье, - 7.10.2.
Прежде всего, давайте посмотрим на существующие индексы, имя индекса создается в соответствии с датой, сегодня 2022-03-11, вы можете видеть, что индексы и документы января 2022 года все еще существуют, рисунок ниже:
Создание шаблона индекса
Откройте панель управления Kibana, нажмите Управление индексами -> Шаблоны индексов -> Создать шаблон индекса, заполните имя: logger-template, модуль индекса заполните так, чтобы он соответствовал индексу, а затем уже следующим шагом может быть, следующий рисунок:
Примечание: Когда создается новый индекс Elasticsearch, шаблон автоматически подбирается для завершения базовой части построения индекса. То есть, когда создается индексvse-2022-03-13, он будет соответствовать версии шаблона-логгера, а затем выполнять правила, установленные шаблоном, а исторический индекс (даже если он соответствует шаблону) не будет связан с шаблоном индекса!!!!. В рамках данного документа индексы, созданные не по шаблону, не могут быть автоматически удалены.
Создание политики жизненного цикла индекса
Откройте панель администратора Kibana, нажмите Index Lifecycle Policies -> Create Policy, как показано ниже:
Введите имя "auto-clean-30-days-logger " и снимите флажок "Enable rolling updates", как показано ниже:
Включите опцию Delete Stage, чтобы автоматически очищать индексы 30-дневной давности, как показано ниже:
Наконец, добавьте стратегию в шаблон индекса, как показано ниже:
На данный момент, вновь созданный индекс будет автоматически сохранен на 30 дней, индексы старше 30 дней будут удалены, а исторические индексы должны быть очищены вручную!!! Ручное удаление индексов, пожалуйста, обратитесь к:
Elasticsearch удаляет все данные документа из индекса. h ttps:// www.itsvse.com/thread-6321-1-1.html Просмотрите только что созданный шаблон индекса - окончательный шаблон, который будет применен к соответствующему индексу. Подробности приведены ниже:
{ "шаблон": { "settings": { "индекс": { "lifecycle": { "name": "auto-clean-30-days-logger" } } }, "aliases": {}, "mappings": {} } }
Просмотр интерфейса настройки политики, например, http://192.168.1.182:9200/_ilm/policy/auto-clean-30-days-logger?pretty.
{ "auto-clean-30-days-logger" : { "version" : 1, "modified_date" : "2022-03-11T06:26:01.972Z", "policy" : { "phases" : { "hot" : { "min_age" : "0ms", "actions" : { "set_priority" : { "приоритет" : 100 } } }, "delete" : { "min_age" : "30d", "actions" : { "priority" : 100 } } "actions" : { "delete" : { "delete_searchable_snapshot" : true } } } } } } }
ILM (Index Lifecycle Management)
Наша недавно созданная политика жизненного цикла индексов выполняется с помощью опроса по времени.
Служба ILM опрашивает выполнение политики в фоновом режиме:
ILM определяет четыре стадии жизненного цикла: Горячая: Индекс активно обновляется и запрашивается. Warm: Индексы больше не обновляются, но все еще запрашиваются. COLD: Индексы больше не обновляются и редко запрашиваются. Информация все еще необходима для поиска, но ничего страшного, если эти запросы будут медленными. Удалить: индекс больше не нужен и может быть безопасно удален.
ILM периодически запускается (indices.lifecycle.poll_interval), по умолчанию 10 минут, чтобы проверить, соответствует ли индекс критериям политики, и выполняет все необходимые действия. Во избежание конфликтных ситуаций ILM может потребоваться запустить несколько раз, чтобы выполнить все шаги, необходимые для завершения действия. Поэтому, даже если indices.lifecycle.poll_interval установлен на 10 минут, а индексы соответствуют требованиям переноса, для завершения переноса может потребоваться до 20 минут. Пример: допустим, мы установили перенос для более чем 10 документов, но поскольку процесс не является немедленным, 11-й или 12-й документ может все еще находиться в предыдущем индексе, а новый документ не будет находиться в новом индексе до тех пор, пока перенос не будет успешным.
Настройки управления жизненным циклом индекса в Elasticsearch: https: //www.elastic.co/guide/en/elasticsearch/reference/current/ilm-settings.html
Просмотр состояния ILM
Сейчас 2022-03-13, 2 индекса будут создаваться автоматически каждый день, вы можете видеть индексы, созданные, были автоматически связаны с политикой, как показано ниже:
(Окончание)
|
Предыдущая статья: Проект Maven для разделения проекта и упаковки зависимостейСледующая статья: [Практика]Использование Docker для создания IPsec VPN сервера
|