Управление интеграцией в R-Vision VM
Данный раздел содержит информацию об управлении интеграцией с базами данных в R-Vision VM. Работа осуществляется в разделах Ресурсы → Переменные и Настройки → Интеграции → Интеграции ИБ-активов веб-интерфейса R-Vision VM.
Доступные действия над интеграцией:
Добавление интеграции
|
Один экземпляр интеграции позволяет импортировать только экземпляры одной сущности. Чтобы импортировать экземпляры нескольких разных сущностей, вы можете:
Рекомендации по настройке импорта экземпляров нескольких связанных сущностей приведены в разделе Импорт экземпляров нескольких сущностей. |
Чтобы добавить интеграцию R-Vision VM с БД, выполните следующие действия:
-
Перейдите в раздел Ресурсы → Переменные веб-интерфейса R-Vision VM.
-
Добавьте переменную, которая будет хранить логин пользователя БД.
Используется логин того же пользователя, который был создан в БД на этапе ее настройки. Для этого:
-
Нажмите на кнопку Создать (
). Отобразится окно создания переменной.
-
Укажите следующие параметры переменной:
-
ID — произвольный.
-
Название — произвольное.
-
Организация — организация, в рамках которой будет работать интеграция.
-
Описание — произвольное.
-
Секрет — установите переключатель в активное положение.
-
Тип — String.
-
Значение переменной — логин пользователя БД, заданный на этапе настройки сервера СУБД.
-
-
Нажмите на кнопку Создать. Переменная будет создана и добавлена в список в разделе Ресурсы → Переменные. Система отобразит соответствующее уведомление.
-
-
Аналогичным образом добавьте переменную, которая будет хранить пароль пользователя БД.
-
Перейдите в раздел Настройки → Интеграции → Интеграции ИБ-активов веб-интерфейса R-Vision VM.
-
Нажмите на кнопку
и выберите из выпадающего списка опцию Интеграция с БД. Отобразится окно создания интеграции.
-
Выберите из выпадающего списка организацию, в которой будет работать интеграция.
Организация должна совпадать с организацией, в которой созданы переменные для логина и пароля пользователя БД. -
Введите произвольное название интеграции.
-
Введите доменное имя или IP-адрес сервера СУБД.
-
Введите номер порта, по которому будет выполняться обмен данными между R-Vision VM и сервером СУБД.
-
В поле Пользователь выберите переменную с логином пользователя БД, добавленную на шаге 2.
-
В поле Пароль выберите переменную с паролем пользователя БД, добавленную на шаге 3.
-
В поле Тип выберите необходимую СУБД:
-
MS SQL;
-
MySQL;
-
PostgreSQL.
-
-
Введите имя БД, из которой интеграция должна получать данные.
-
В поле Тип сущности (для отправки в шину) укажите идентификатор типа импортируемой сущности, который будет использоваться для передачи данных о ней в NATS. Идентификатор может быть произвольным.
Рекомендуется выбирать имя идентификатора согласно бизнес-логике сущности. Например, для сущности Склад можно использовать идентификатор StorageType. -
Выберите источник данных для интеграции:
-
Таблица — интеграция будет использовать все строки указанной таблицы в качестве источника данных.
-
SQL-запрос — интеграция будет выполнять указанный запрос к БД и использовать его результат в качестве источника данных.
-
-
Если вы выбрали источник данных Таблица, введите название необходимой таблицы в поле Название таблицы.
-
Если вы выбрали источник данных SQL-запрос, введите запрос с ключевым словом
SELECT, соответствующий синтаксису вашей СУБД, в поле SQL-запрос.Перед выполнением запрос проверяется на отсутствие следующих ключевых слов:
-
INSERT; -
UPDATE; -
DELETE; -
DROP; -
ALTER; -
TRUNCATE; -
MERGE; -
EXEC; -
EXECUTE; -
CALL; -
CREATE; -
REPLACE; -
GRANT; -
REVOKE; -
LOCK; -
UNLOCK; -
SET; -
USE; -
ATTACH; -
DETACH; -
ANALYZE; -
VACUUM; -
COMMENT; -
RENAME; -
EXECUTE IMMEDIATE; -
INTO OUTFILE; -
LOAD_FILE; -
xp_readfile; -
xp_cmdshell.
При обнаружении этих ключевых слов запрос не выполнится, а запуск интеграции завершится с ошибкой.
-
-
В поле Имя столбца идентификатора укажите имя столбца в таблице или результате запроса к БД, хранящего уникальные идентификаторы импортируемых объектов.
-
В поле Тип источника данных оставьте значение по умолчанию.
-
В поле Группа воркеров укажите
database_integration_worker_group. -
В поле Пагинация введите максимальное количество объектов, выгружаемых системой из NATS и передаваемых в плейбук load за один раз.
Значение поля Пагинация влияет только на количество объектов, одновременно обрабатываемых внутри системы. На количество объектов, выгружаемых из внешней системы, этот параметр не влияет.
-
В поле Задержка отправки запросов введите интервал в секундах между повторными запросами к внешней системе, если запрос к ней завершился с ошибкой.
-
В поле Число повторных попыток отправки данных введите максимальное количество повторных запросов к внешней системе, если запрос к ней завершился с ошибкой.
Если достигнуто максимальное число повторных попыток отправки данных и все эти попытки завершились с ошибкой, запуск интеграции также будет прерван с ошибкой. -
В полях Размер выборки и Количество сущностей, загружаемых в NATS за 1 раз оставьте значения по умолчанию.
Значения в этих полях определяют количество импортируемых экземпляров сущности, обрабатываемых NATS за один раз. Менять значения этих полей не рекомендуется во избежание проблем с производительностью. -
Если требуется связать экземпляры сущности, которые вы импортируете, с экземплярами другой сущности, в таблице Таблица связей укажите, в каких столбцах импортируемой таблицы находятся идентификаторы экземпляров другой сущности:
-
В столбце Тип сущности в шине укажите идентификатор типа другой сущности, который будет использоваться для передачи данных о ней в NATS. Идентификатор может быть произвольным, соответствующим бизнес-логике сущности.
-
В столбце Имя колонки идентификатора укажите имя столбца в таблице или результате запроса к БД, в котором хранятся идентификаторы экземпляров внешней сущности.
Пример заполнения таблицы связейПусть с помощью интеграции импортируется информация об устройствах. Запрос к БД возвращает таблицу со следующими столбцами:
-
deviceId— уникальный идентификатор устройства; -
deviceName— имя устройства; -
ipAddress— IP-адрес устройства; -
adminId— идентификатор учетной записи пользователя, который является администратором устройства.
Пусть для сущности Учетная запись выбран идентификатор типа в NATS
AccountType. Учетная запись — внешняя сущность по отношению к устройству. Поэтому, чтобы импортировать связь устройства и учетной записи, в таблицу связей необходимо добавить следующую строку:Тип сущности в шине Имя колонки идентификатора AccountTypeadminIdВ столбце Тип сущности в шине каждая внешняя сущность должна быть указана только один раз. При наличии дубликатов сущностей в работе интеграции могут возникнуть ошибки. -
-
Если вы импортируете экземпляры сущности, не являющейся типом ИБ-активов, добавьте новое правило нормализации в строку таблицы Правила нормализации.
По умолчанию в таблицу Правила нормализации добавлены только правила нормализации данных об ИБ-активах. -
Если правило нормализации для импортируемой сущности не существует, создайте его согласно инструкции в разделе Настройка правил нормализации для интеграций.
-
В таблицу Правила нормализации добавьте следующую строку:
-
Тип сущности — тип импортируемой сущности в NATS. Может быть произвольным, соответствующим бизнес-логике сущности.
-
ID схемы домена — идентификатор схемы домена, в которой определена импортируемая сущность.
-
ID сущности — идентификатор импортируемой сущности в схеме домена.
-
ID правила нормализации — идентификатор правила нормализации для сущности.
-
Зависимые типы — массив идентификаторов сущностей, для которых связь с текущей сущностью обязательна. Указывается как массив строк.
Например, пусть требуется импортировать сущность
Storageиз доменаstorage.custom. Для этой сущности создано правило нормализацииStorage.storage.custom. При этом в системе есть сущностиSectionиShelf, которые обязательно должны быть связаны соStorage(секции и полки находятся на конкретном складе).Тогда строка правила нормализации
Storage.storage.customв таблице Правила нормализации может быть заполнена следующим образом:-
Тип сущности —
StorageType. -
ID схемы домена —
storage.custom. -
ID сущности —
Storage. -
ID правила нормализации —
Storage.storage.custom. -
Зависимые типы —
["Section", "Shelf"].
-
-
-
Если вы импортируете связи между сущностями, хотя бы одна из которых не является типом ИБ-активов, в таблицу Правила связывания добавьте по строке для каждой из таких связей.
По умолчанию в таблицу Правила связывания добавлены только правила связывания ИБ-активов. Строки заполняются следующим образом:
-
ID домена связи — идентификатор схемы домена, в которой определена импортируемая связь.
-
ID связи — идентификатор импортируемой связи в схеме домена.
-
Тип сущности — тип импортируемой сущности в NATS. Может быть произвольным, соответствующим бизнес-логике сущности.
-
ID домена связываемой сущности — идентификатор схемы домена, в котором определена связываемая сущность.
-
ID связываемой сущности — идентификатор связываемой сущности в схеме домена.
-
Тип связываемой сущности — тип связываемой сущности в NATS. Может быть произвольным, соответствующим бизнес-логике сущности.
-
Тип сущности (левая сторона связи) — тип импортируемой сущности в NATS; укажите то же значение, что и в столбце Тип сущности.
-
Тип сущности (правая сторона связи) — тип связываемой сущности в NATS; укажите то же значение, что и в столбце Тип связываемой сущности.
Например, пусть требуется импортировать сущность
Storageиз доменаstorage.custom, связанную с сущностьюDeviceиз доменаisassets.rvision.ruи с сущностьюShelfиз доменаstorage.custom.Тогда в таблицу Правила связывания следует добавить две строки:
-
Для связи с сущностью
Device:-
ID домена связи —
storage.custom. -
ID связи —
Storage_to_Device. -
Тип сущности —
StorageType. -
ID домена связываемой сущности —
isassets.rvision.ru. -
ID связываемой сущности —
Device. -
Тип связываемой сущности —
DeviceType. -
Тип сущности (левая сторона связи) —
StorageType. -
Тип сущности (правая сторона связи) —
DeviceType.
-
-
Для связи с сущностью
Shelf:-
ID домена связи —
storage.custom. -
ID связи —
Storage_to_Shelf. -
Тип сущности —
StorageType. -
ID домена связываемой сущности —
storage.custom. -
ID связываемой сущности —
Shelf. -
Тип связываемой сущности —
ShelfType. -
Тип сущности (левая сторона связи) —
StorageType. -
Тип сущности (правая сторона связи) —
ShelfType.
-
-
-
Чтобы настроить расписание запуска интеграции, установите переключатель Запуск по расписанию в активное положение и выполните действия ниже.
-
Выберите часовой пояс из выпадающего списка.
-
Выберите формат расписания, на основании которого будет запускаться интеграция. Доступные форматы:
-
Cron-выражение;
-
Расписание.
-
-
Если была выбрана опция Cron-выражение, задайте cron-выражение для запуска интеграции по расписанию.
Указанное cron-выражение задает расписание для триггера, по которому выполняется интеграция. Вы можете ознакомиться с синтаксисом cron-выражений в разделе Работа с автоматизациями. -
Если была выбрана опция Расписание, выполните следующие шаги:
-
Выберите режим запуска интеграции из выпадающего списка Запускать. Доступные режимы:
-
Каждый месяц;
-
Каждую неделю;
-
Каждый день;
-
Каждый час;
-
Каждую минуту.
-
-
Если выбран режим запуска Каждый месяц, укажите следующие параметры:
-
Интервал между запусками в месяцах.
-
Дни месяца, в которые будет выполняться запуск, через запятую. Например:
1, 5, 10, 15, 20, 25, 30.
-
-
Если выбран режим запуска Каждую неделю, выберите из выпадающего списка день недели, в который будет запускаться интеграция.
-
Если выбран режим запуска Каждый день, Каждый час или Каждую минуту, укажите интервал между запусками в днях, часах или минутах соответственно.
-
Если выбран любой режим запуска, кроме Каждую минуту, выберите интервал времени, в который будет запускаться интеграция.
Доступны интервалы в 15 минут с 00:00 до 23:59.
-
-
Нажмите на кнопку Добавить. Система создаст интеграцию и отобразит уведомление об успешном создании.
Просмотр интеграции
Чтобы просмотреть настройки интеграции:
-
Перейдите в раздел Настройки → Интеграции → Интеграции ИБ-активов веб-интерфейса R-Vision VM. Система отобразит список существующих интеграций.
-
Нажмите на строку интеграции в списке. Система отобразит в правой части экрана карточку этой интеграции с подробной информацией о ней.
В верхней части карточки отображается название интеграции. Справа от названия расположена кнопка , при нажатии на которую открывается выпадающее меню с действиями, доступными для выбранной интеграции.
Карточка интеграции содержит следующие вкладки:
-
Основное — основная информация об интеграции.
-
Расширенные параметры — дополнительные параметры интеграции: размер выборки, таблицы правил связывания и нормализации.
-
История — история изменений интеграции.
-
Конфигурация — тип источника данных и группа воркеров интеграции, а также настройки интенсивности обработки импортируемых объектов.
Вкладка Основное
-
Кнопка Запустить (
) позволяет запустить интеграцию вручную.
-
Организация — организация, в которой работает интеграция.
-
Название — название интеграции.
-
Статус — статус последнего запуска интеграции:
-
Успешно;
-
Ошибка;
-
В процессе;
-
Отменена.
-
-
Секция Параметры подключения:
-
Адрес — доменное имя или IP-адрес сервера СУБД.
-
Порт — номер порта, по которому выполняется обмен данными между R-Vision VM и сервером СУБД.
-
Пользователь — имя переменной, которая хранит логин пользователя БД.
-
Пароль — имя переменной, которая хранит пароль пользователя БД.
-
Тип — используемая СУБД:
-
MS SQL;
-
MySQL;
-
PostgreSQL.
-
-
Имя БД — имя БД, из которой интеграция получает данные.
-
Тип сущности (для отправки в шину) — идентификатор типа импортируемых объектов в NATS.
-
Источник данных интеграции — тип источника, из которого интеграция получает данные:
-
Таблица;
-
SQL-запрос.
-
-
Название таблицы — имя таблицы, из которой импортируются данные. Заполняется только для типа источника Таблица.
-
SQL-запрос — запрос к БД, из результатов которого импортируются данные. Заполняется только для типа источника SQL-запрос.
-
Имя столбца идентификатора — имя столбца в таблице или результате запроса к БД, хранящего уникальные идентификаторы импортируемых объектов.
-
-
Секция Расписание:
-
Запуск по расписанию — определяет, происходят ли запуски интеграции по заданному расписанию.
-
Часовой пояс — часовой пояс для времени запуска интеграции.
-
Формат расписания — формат расписания для запуска интеграции. Доступные форматы:
-
Cron-выражение;
-
Расписание.
-
-
Cron-выражение — cron-выражение для запуска интеграции по расписанию.
Данное поле отображается, только если в поле Формат расписания выбрана опция Cron-выражение. Указанное cron-выражение задает расписание для триггера, по которому выполняется интеграция. Вы можете ознакомиться с синтаксисом cron-выражений в разделе Работа с автоматизациями. -
Запускать — режим запуска интеграции. Доступные значения:
-
Каждый месяц;
-
Каждую неделю;
-
Каждый день;
-
Каждый час;
-
Каждую минуту.
Это и все последующие поля отображаются, только если в поле Формат расписания выбрана опция Расписание. -
-
Интервал повторения — количество единиц времени между последовательными запусками интеграции.
-
Дни повторения (через запятую) — дни месяца, в которые будет выполняться запуск, через запятую. Отображается только для режима запуска Каждый месяц.
-
День недели — день недели, в который будет запускаться интеграция. Отображается только для режима запуска Каждую неделю.
-
Время запуска — время, в которое инициируется выполнение интеграции. Отображается для всех режимов запуска, кроме Каждую минуту.
Доступны интервалы в 15 минут с 00:00 до 23:59.
-
Вкладка Расширенные параметры
Вкладка Расширенные параметры содержит дополнительные параметры интеграции:
-
Размер выборки — количество строк, обрабатываемых интеграцией за один запрос к БД.
-
Количество сущностей, загружаемых в NATS за 1 раз — количество импортируемых экземпляров сущности, обрабатываемых NATS за один раз.
-
Таблица связей — столбцы таблицы или результатов запроса к БД, содержащие идентификаторы объектов, с которыми требуется связать импортируемые объекты.
-
Правила нормализации — таблица правил преобразования исходных данных об объектах в формат, который требуется для добавления информации об объектах в домен.
-
Правила связывания — таблица правил связывания экземпляров разных сущностей.
Вкладка История
Вкладка История отображает сведения о запусках интеграции, а также об изменениях ее настроек.
Вкладка Конфигурация
Вкладка Конфигурация содержит следующие поля:
-
Тип источника данных — в текущей версии интеграции всегда имеет значение
integrationDB. -
Группа воркеров — группа воркеров, на которой запускается интеграция —
database_integration_worker_group. -
Пагинация — максимальное количество объектов, выгружаемых системой из NATS и передаваемых в плейбук load за один раз.
-
Задержка отправки запросов — интервал в секундах между повторными запросами к внешней системе, если запрос к ней завершился с ошибкой.
-
Число повторных попыток отправки данных — максимальное количество повторных запросов к внешней системе, если запрос к ней завершился с ошибкой.
Удаление интеграции
Вы можете удалить интеграцию следующими способами:
-
через меню действий;
-
через массовое удаление.
Была ли полезна эта страница?