Экспорт и импорт активности пользователейLTS
Экспорт и импорт активности пользователей предназначены для передачи данных мониторинга между серверами, создания резервных копий или восстановления данных в случае аварийного завершения работы. Эти функции используются:
- При миграции на другой сервер или кластер
- Для резервного копирования архивов активности
- При передаче активности между тестовым и продуктивным контурами
- Для интеграции данных мониторинга с другими системами анализа
В системе предусмотрен экспорт и импорт активности пользователей. Для выгрузки и загрузки активности необходимо подключить привилегию Экспорт/Импорт активности пользователей с операцией выполнения Е.
Также у конфигурационного файла системы com.infomaximum.subsystem.monitoring.json должен быть выключен параметр по разбору и синхронизации архивов активности, принятой с агентов, и последующей передачей в CH. У параметра parsing_activity_enabled должно быть значение false.
Экспорт активности
Чтобы выгрузить данные активности в указанный каталог на диске, введите GraphQL-запрос:
mutation{
activity_exchange{
export_activity_queue(directory_path:"C:\\work\\Business-Projects\\activity\\monitoring\\data\\backup", limit_per_file:25000){
time_ms
total_size
count
files
}
}
}
Где:
directory_path— путь, куда экспортируются данные активностиlimit_per_file— лимит файлов в одном контейнере экспорта. Если лимит файлов не задан, то выгружаемые данные будут делиться по 25000 архивов активности
Поля запроса описаны в таблице ниже.
| Поле | Тип данных | Определение |
|---|---|---|
time_ms | Long | время выполнения операции в миллисекундах |
total_size | Long | размер необработанных байтов, прочитанных из встроенной файловой базы данных с учетом наименования, но без учета внешних метаданных архива контейнера |
count | Int | общее количество экспортируемых архивов с активностью из встроенной файловой базы данных |
files | String | список имен файлов, сформированных в процессе экспорта в указанном каталоге |
Во время экспорта запись новых архивов во встроенную файловую базу данных блокируется. Файл выгружается с названием activity_queue_({C}-{CN})_{yyyy_MM_dd_HH_mm_ss_SSS}.zip, где:
- {C} — первый ключ
- {CN} — последний ключ
- {yyyy_MM_dd_HH_mm_ss_SSS} — время формирования архива
Пример названия архива: activity_queue_(1-3)_2022_12_21_16_22_46_000.zip.
- При экспорте данных из встроенной файловой базы данных не удаляйте соответствующие записи из ClickHouse.
- Данные во встроенной базе синхронизируются с ClickHouse, и при последующем импорте система использует ClickHouse для восстановления информации.
- Если записи в ClickHouse отсутствуют, процесс импорта запускает длительную процедуру обратной синхронизации или завершается с ошибками согласованности.
Данные активности не экспортируются, если:
- В GraphQL-запросе не указан путь, куда выгружаются данные
- На диске не существует путь или указан файл, а не каталог
- Не удалось блокировать запись активности в очередь в течении 800 мс. В этом случае ожидается повторный запрос
Импорт активности
Чтобы загрузить данные активности существующих пользователей и источников активности из указанного каталога на диске, введите GraphQL-запрос:
mutation{
activity_exchange{
import_activity_queue(directory_path:"C:\\work\\Business-Projects\\activity\\monitoring\\data\\backup", is_create_by_login:true){
time_ms
total_size
count
files
}
}
}
Где:
directory_path— путь на сервере, откуда импортируются данные активностиis_create_by_login: true/false— параметр, который отвечает за проверку на наличие источников у пользователя и его создание при необходимости:- Если источник по
loginиdomainесть в базе, считается, что источник существует и дальнейшая работа по нему не требуется - Если источник по
loginсуществует, но нет соответствия поdomain, из полученного источника извлекается идентификатор пользователя, и этому пользователю создается новый источник - Если не найдено соответствие по
loginиdomain, источник создается автоматически
- Если источник по
Поля запроса описаны в таблице ниже.
| Поле | Тип данных | Определение |
|---|---|---|
time_ms | Long | Время выполнения операции MS |
total_size | Long | Размер необработанных байтов, прочитанных из контейнера архива с учетом наименования |
count | Int | Общее количество импортируемых архивов с активностью из встроенной файловой базы данных |
files | String | Список имен файлов прочитанных операцией импорта |
Если источник активности и пользователь отсутствуют, необходимо выполнить GraphQL-запрос с использованием ключа API и из ссылки убрать букву i в слове «graphiql». Пример: automation-dev.preview.infomaximum.com/graphql?&api_key=ключ. После изменения ссылки необходимо обновить страницу.
Для импорта активности поместите архивы агента мониторинга в один архив с названием activity_queue_({C}-{CN})_{yyyy_MM_dd_HH_mm_ss_SSS}.zip, где:
- {C} — первый ключ
- {CN} — последний ключ
- {yyyy_MM_dd_HH_mm_ss_SSS} — время формирования архива
Можно указать приблизительное время формирования архива, необходимо только соблюсти обозначенный формат записи.
Данные активности не импортируются, если:
- В GraphQL-запросе не указан путь на сервере, откуда выгружаются данные
- На диске не существует путь или указан файл, а не каталог
Примечание:
- Ошибки, связанные с системой ввода-вывода, будут отображены в журнале событий
- Чтобы активность пользователя с одного сервера при импорте соответствовала этому же пользователю на другом сервере, ему необходимо создать источник с логином и доменом
- После импорта файлы с диска удаляются, данные активности записываются во встроенную файловую базу данных
- После загрузки активности на сервер у параметра
parsing_activity_enabledнеобходимо указать значениеtrue
Была ли статья полезна?