Перейти к содержанию

Миграция индексов базы Elasticsearch

На рисунке 1 представлена схема миграции индексов базы Elasticsearch.

Схема миграции
Рисунок 1 -- Схема миграции

Настройка миграции

Настройка миграции производится на одной из нод кластера Elasticsearch.

Для работы скрипта миграции необходимо установить программный компонент elasticdump, для этого нужно выполнить команду: bash /opt/pangeoradar/support_tools/elasticdump/install.sh

После установки нужно произвести настройку ноды, выполнив команду: bash /opt/pangeoradar/support_tools/elastic/es_config.sh

На рисунке 2 изображен этап включения дополнительных параметров, рекомендуется использовать все.

Настройка дополнительных параметров
Рисунок 2 -- Настройка дополнительных параметров

Далее необходимо произвести настройку самой миграции в конфигурационном файле: /opt/pangeoradar/support_tools/elastic/indices_route.sh

Основные настройки и их описания представлены ниже:

SNAPSHOT_DIRECTORY="/data/archive"  # путь сохранения архивированных индексов

es_proto="https"                    # протокол по которому осуществляется подключение к базе 
es_host="127.0.0.1"                 # IP адрес сервера ES
es_port=9200                        # порт подключения к ES
hot_cold=1                          # включить\отключить функционал миграции в "холодное" хранилище
archive=1                           # включить\отключить создание архива индексов
archive_error=1                     # включить\отключить архивацию индексов ошибок
cold_day=1                          # количество дней, после которых индексы перемещаются в "холодное" хранилище
delete_error_day=1                  # количество дней, после которых индексы ошибок удаляются
delete_day=2                        # количество дней, после которых индексы удаляются
archive_day=90                      # количество дней хранения архива индексов, после которых они будут удалены

После чего необходимо добавить задачу на ежедневное выполнение. Для этого нужно выполнить команду: crontab -e

Удалить из планировщика задач строку:

0 4 * * * /usr/bin/curator --config /etc/curator/config.yml /etc/curator/action.yml

Добавить следующую строку:

0 4 * * * /bin/bash /opt/pangeoradar/support_tools/elastic/indices_route.sh

После чего настройку миграции можно считать завершенной.

Восстановление индексов из архива

Для восстановления индексов из архива необходимо выполнить команду: bash /opt/pangeoradar/support_tools/elastic/restore.sh

После выполнения должно появиться окно с фильтрацией индексов, изображенное на рисунке 3.

Фильтрация архивированных индексов
Рисунок 3 -- Фильтрация архивированных индексов

В качестве аргументов можно использовать часть имени индекса. Примеры:

  • firewall - все архивные индексы межсетевого экрана;

  • 2021.11.23 - все архивные индексы за 23 ноября 2021 года;

  • 2021.12 - все архивные индексы за декабрь 2021 года.

Если не указывать аргументы, будут отображены все архивированные индексы.

После чего необходимо выбрать индексы, которые необходимо разархивировать, как изображено на рисунке 4.

Выбор индексов для разархивации
Рисунок 4 -- Выбор индексов для разархивации

Возможно восстановление нескольких индексов

Процесс разархивации индексов фиксируется в журнале: /var/log/restore.log