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