Скрипт сохранения партиций из локального хранилища KUMA (ClickHouse)
Предварительно нужно сделать chmod +x
по файлу скрипта.
1. Экспортировать из хранилища и сохранить в архиве партиции и файл описания рядом со скриптом за промежуток с 2023-04-05 по 2023-04-05.
Пример команды:
./kuma_save_partition.sh -export 2023-04-05 2023-04-06
2. Импорт событий в хранилище. Рядом со скриптом должны находиться все необходимые архивы и файл описания partitions_from_* (которые были сгенерированы при экспорте). Скрипт автоматом создает нужные тенанты в KUMA для отображения событий (если не получится автоматом, это нужно будет сделать вручную в MongoDB).
- (опционально) прописать в скрипте IP адрес KUMA (CORE), указать его в скрипте в переменной kuma_IP= (33 строка)
- (опционально) прописать в скрипте 1 в переменной auto_tenant_create= для автоматического (не рекомендуется) создания тенант ID для отображения событий (в случае переноса со сторонней KUMA) (34 строка)
Пример команды:
./kuma_save_partition.sh -import partitions_from_2023-04-05-2023-04-05.txt
3. Сохранение партиции перед ротацией (за 1 день до удаления). Необходимо указать:
- полный путь куда будет перемещен архив;
- ID кластера (идентификатор берется из URL при нажании на Хранилище из Активных сервисов Пример URL: https://10.68.85.126:7220/resources/storage/7a7539f1-ab1d-469c-a82a-2df550f286b3)
- создать пользователя с ролью администратор в веб интерфейсе KUMA, указать его в скрипте в переменных login= (31 строка) и pass= (32 строка)
- прописать в скрипте IP адрес KUMA (CORE), указать его в скрипте в переменной kuma_IP= (33 строка)
Пример команды:
./kuma_save_partition.sh -arch_before_delete /tmp 7a7539f1-ab1d-469c-a82a-2df550f286b3
В случае рестарта Core "фейковые" (созданные) искуственно тенанты не дадут ему нормально запуститься, их нужно будет удалить для старта ядра и затем снова из создать.
Ручное создание "фейк" тенант ИД. По результату работы скрипта будет дан ИД который нужно создать в системе, это можно сделать на ядре выполнив команду (вместо указать скопированный ИД):
/opt/kaspersky/kuma/mongodb/bin/mongo kuma --eval 'db.tenants.insertOne({"_id": "<ID>", "name": "EVENT_EXPORT", "description": "", "main": false, "disabled": false, "eps": 0, "epsLimit": 100, "createdAt": 1670580800905, "updatedAt": 1670580800905});'
Затем необходимо зайти в веб интерфейс в раздел тенантов, выключить и включить созданный тенант EVENT_EXPORT.