Управление индексами
Данная статья является переводом из официальной документации OpenSearch 2.6.X с использованием Smart Monitor.
Описание
При анализе данных, скорее всего, приоритет отдается новым данным, а не старым. Периодически можно выполнять определенные операции над старыми индексами, например, уменьшать количество реплик или удалять их.
Плагин Index State Management (ISM) позволяет автоматизировать данные операции, выполняя их на основе измен ения возраста индекса, размера индекса или количества документов. С помощью плагина ISM можно определить политики, автоматически обрабатывающие перенос или удаление индексов в соответствии с конкретными условиями.
Например, можно определить политику, которая переводит индекс в состояние read_only
через 30 дней, а затем удаляет его через заданный период в 90 дней. Можно также настроить политику на отправку уведомления об удалении индекса.
Для повышения производительности поиска в момент пиковой нагрузки может потребоваться выполнить rollover
индекса через определенный промежуток времени или запустить операцию force_merge
для индекса в непиковые часы.
Для использования плагина ISM роль пользователя должна быть сопоставлена с ролью all_access
, которая предоставляет полный доступ к кластеру.
Начало работы с ISM
Для начала работы выберите пункт «Управление индексами» в разделе «Параметры системы» в главном меню.
Настройка политик
Политика - это набор правил, описывающих, как следует управлять индексом. Информацию о создании политики см. в разделе Политики.
Для создания политик можно использовать визуальный редактор или редактор JSON. По сравнению с редактором JSON визуальный редактор предлагает более структурированный способ определения политик, разделяя процесс на создание уведомлений об ошибках, определение шаблонов ISM и добавление состояний. Рекомендуется использовать визуальный редактор, если имеется желание видеть заранее определенные поля, например, какие действия можно назначить состоянию или при каких условиях состояние может перейти в состояние назначения.
Визуальный редактор
- В меню Управление индексами выбрать вкладку Политики индекса
- Нажать на кнопку Создать политику
- В модальном окне Способ настройки выбрать опцию Визуальный редактор и нажать кнопку Далее
- В разделе Информация о политике необходимо ввести идентификатор политики и её общее описание
- В разделе Уведомление об ошибке настраивается отправка уведомлений в случае сбоя при выполнении политики. Если в политике используется
rollover
, рекомендуется настроить уведомления об ошибках, которые будут предупреждать о неожиданно больших индексах при неудачныхrollover
- В ISM Шаблоны вводятся любые шаблоны ISM-шаблонов для автоматического применения этой политики к будущим индексам. Например, если указать шаблон
sample-index*
, то плагин ISM автоматически применит эту политику ко всем индексам, имена которых начинаются с sample-indexsample-index*
, то плагин ISM автоматически применит эту политику ко всем индексам, имена которых начинаются сsample-index
. Шаблон не может содержать ни один из следующих символов::
,"
,+
,/
,\
,|
,?
,#
,>
и<
- В разделе Состояния добавляются все состояния, которые необходимо включить в политику. Каждое состояние содержит действия, которые плагин выполняет, когда индекс переходит в определенное состояние, и переходы, которые содержат условия, при выполнении которых индекс переходит в конечное состояние. Первое состояние, создаваемое в политике, автоматически устанавливается в качестве начального. В каждой политике должно быть хотя бы одно состояние, а действия и переходы необязательны
- Нажать на кнопку Создание скрипта
Редактор JSON
- В меню Управление индексами выбрать вкладку Политики индекса
- Нажать на кнопку Создать политику
- В модальном окне Способ настройки выбрать опцию Редактор JSON и нажать кнопку Далее.
- В разделе Название политики необходимо ввести идентификатор политики
- В разделе Определение политики происходит полная настройка политики
- Нажать на кнопку Создать
После создания политики следующим шагом будет применение ее к индексу или индексам. Можно задать в политике шаблон ism_template
, чтобы при создании индекса, соответствующего шаблону ISM, плагин автоматически применил политику к индексу.
В примере показано, как создать политику, которая автоматически привязывается ко всем индексам, имена которых начинаются с index_name-
.
PUT _plugins/_ism/policies/policy_id
{
"policy": {
"description": "Example policy.",
"default_state": "...",
"states": [...],
"ism_template": {
"index_patterns": ["index_name-*"],
"priority": 100
}
}
}