Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 9001|Ответ: 0

Elasticsearch автоматически очищает индексы, чтобы освободить место на диске

[Скопировать ссылку]
Опубликовано 13.03.2022 13:22:29 | | | |
Используя 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 ->, чтобы создать политику, как показано на следующем изображении:



Заполнение имени»Auto-clean-30-days-logger, снять галочку Включить текущие обновления, как показано на следующем рисунке:



Откройте фазу удаления, чтобы автоматически очистить индексы до 30 дней назад, как показано на следующем изображении:



Наконец, добавьте политику в шаблон индекса, как показано на следующем изображении:



На этом этапе новый индекс будет автоматически сохраняться на 30 дней, индекс выше 30 дней будет удалён, а исторический индекс придётся очищать вручную!! Чтобы вручную удалить индекс, обратитесь к следующему:

Elasticsearch удаляет и индексирует все данные документов
https://www.itsvse.com/thread-6321-1-1.html
Ознакомьтесь с шаблоном индекса, который вы только что создали, и он будет применён к финальному шаблону, совпадающему с индексом. Подробности следующие:

{
  "template": {
    "настройки": {
      "index": {
        "жизненный цикл": {
          "Name": "Auto-clean-30-days-logger"
        }
      }
    },
    "псевдонимы": {},
    "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" : true
            }
          }
        }
      }
    }
  }
}


ILM (Управление жизненным циклом индекса)

Наша новая политика жизненного цикла индекса реализуется с помощью временного опроса.

Служба ILM проводит опрос о политике исполнения в фоновом режиме:

ILM определяет четыре стадии жизненного цикла:
Горячо: активно обновляю и отправляю запросы к индексу.
Warm: Больше не обновляю индексы, но всё равно отправляю запросы.
холодно: Индексы больше не обновлялись, несколько запросов. Информация всё равно должна быть доступна для поиска, но если запросы идут медленнее, это нормально.
Удаление: Индекс больше не нужен и его можно безопасно удалить.

Периодическая работа ILM (indices.lifecycle.poll_interval),По умолчанию — 10 минутПроверить, соответствует ли индекс критериям политики, и предпринять все необходимые меры.
Чтобы избежать гоночных ситуаций, ILM может придётся выполнять несколько раз, чтобы выполнить все необходимые шаги для выполнения действия. Таким образом, даже если indices.lifecycle.poll_interval установлен на 10 минут и индекс соответствует требованиям переноса, завершение переноса может занять 20 минут.
Например, если мы установим более 10 документов для переноса, но поскольку этот процесс не реализован сразу, 11-я и 12-я статьи всё равно могут попасть в предыдущий индекс, а новые документы не попадут в новый индекс, пока перевод не будет успешным.

Настройки управления жизненным циклом индекса в Elasticsearch:Вход по гиперссылке виден.

Просмотр статуса ILM



Сейчас 2022-03-13, каждый день автоматически создаются 2 индекса, вы уже видите созданные индексыПолитики автоматически связаны, как показано на рисунке ниже:



(Конец)





Предыдущий:Проекты Maven упаковывают проекты и зависимости отдельно
Следующий:【Practical Action】Используйте Docker для создания IPsec VPN-сервера
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com