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

Миграция индексов базы 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