Управление интеграцией в R-Vision VM

Данный раздел содержит информацию об управлении интеграцией с базами данных в R-Vision VM. Работа осуществляется в разделах Ресурсы → Переменные и Настройки → Интеграции → Интеграции ИБ-активов веб-интерфейса R-Vision VM.

Доступные действия над интеграцией:

Добавление интеграции

Один экземпляр интеграции позволяет импортировать только экземпляры одной сущности. Чтобы импортировать экземпляры нескольких разных сущностей, вы можете:

  • создать несколько экземпляров интеграции, по одному на каждую сущность;

  • при запуске интеграции вручную — менять настройки одного и того же экземпляра интеграции для каждой из сущностей.

Рекомендации по настройке импорта экземпляров нескольких связанных сущностей приведены в разделе Импорт экземпляров нескольких сущностей.

Чтобы добавить интеграцию R-Vision VM с БД, выполните следующие действия:

  1. Перейдите в раздел Ресурсы → Переменные веб-интерфейса R-Vision VM.

  2. Добавьте переменную, которая будет хранить логин пользователя БД.

    Используется логин того же пользователя, который был создан в БД на этапе ее настройки.

    Для этого:

    1. Нажмите на кнопку Создать (plus). Отобразится окно создания переменной.

    2. Укажите следующие параметры переменной:

      • ID — произвольный.

      • Название — произвольное.

      • Организация — организация, в рамках которой будет работать интеграция.

      • Описание — произвольное.

      • Секрет — установите переключатель в активное положение.

      • Тип — String.

      • Значение переменной — логин пользователя БД, заданный на этапе настройки сервера СУБД.

    3. Нажмите на кнопку Создать. Переменная будет создана и добавлена в список в разделе Ресурсы → Переменные. Система отобразит соответствующее уведомление.

  3. Аналогичным образом добавьте переменную, которая будет хранить пароль пользователя БД.

  4. Перейдите в раздел Настройки → Интеграции → Интеграции ИБ-активов веб-интерфейса R-Vision VM.

  5. Нажмите на кнопку plus и выберите из выпадающего списка опцию Интеграция с БД. Отобразится окно создания интеграции.

  6. Выберите из выпадающего списка организацию, в которой будет работать интеграция.

    Организация должна совпадать с организацией, в которой созданы переменные для логина и пароля пользователя БД.
  7. Введите произвольное название интеграции.

  8. Введите доменное имя или IP-адрес сервера СУБД.

  9. Введите номер порта, по которому будет выполняться обмен данными между R-Vision VM и сервером СУБД.

  10. В поле Пользователь выберите переменную с логином пользователя БД, добавленную на шаге 2.

  11. В поле Пароль выберите переменную с паролем пользователя БД, добавленную на шаге 3.

  12. В поле Тип выберите необходимую СУБД:

    • MS SQL;

    • MySQL;

    • PostgreSQL.

  13. Введите имя БД, из которой интеграция должна получать данные.

  14. В поле Тип сущности (для отправки в шину) укажите идентификатор типа импортируемой сущности, который будет использоваться для передачи данных о ней в NATS. Идентификатор может быть произвольным.

    Рекомендуется выбирать имя идентификатора согласно бизнес-логике сущности. Например, для сущности Склад можно использовать идентификатор StorageType.
  15. Выберите источник данных для интеграции:

    • Таблица — интеграция будет использовать все строки указанной таблицы в качестве источника данных.

    • SQL-запрос — интеграция будет выполнять указанный запрос к БД и использовать его результат в качестве источника данных.

  16. Если вы выбрали источник данных Таблица, введите название необходимой таблицы в поле Название таблицы.

  17. Если вы выбрали источник данных 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.

    При обнаружении этих ключевых слов запрос не выполнится, а запуск интеграции завершится с ошибкой.

  18. В поле Имя столбца идентификатора укажите имя столбца в таблице или результате запроса к БД, хранящего уникальные идентификаторы импортируемых объектов.

  19. В поле Тип источника данных оставьте значение по умолчанию.

  20. В поле Группа воркеров укажите database_integration_worker_group.

  21. В поле Пагинация введите максимальное количество объектов, выгружаемых системой из NATS и передаваемых в плейбук load за один раз.

    Значение поля Пагинация влияет только на количество объектов, одновременно обрабатываемых внутри системы. На количество объектов, выгружаемых из внешней системы, этот параметр не влияет.

  22. В поле Задержка отправки запросов введите интервал в секундах между повторными запросами к внешней системе, если запрос к ней завершился с ошибкой.

  23. В поле Число повторных попыток отправки данных введите максимальное количество повторных запросов к внешней системе, если запрос к ней завершился с ошибкой.

    Если достигнуто максимальное число повторных попыток отправки данных и все эти попытки завершились с ошибкой, запуск интеграции также будет прерван с ошибкой.
  24. В полях Размер выборки и Количество сущностей, загружаемых в NATS за 1 раз оставьте значения по умолчанию.

    Значения в этих полях определяют количество импортируемых экземпляров сущности, обрабатываемых NATS за один раз. Менять значения этих полей не рекомендуется во избежание проблем с производительностью.
  25. Если требуется связать экземпляры сущности, которые вы импортируете, с экземплярами другой сущности, в таблице Таблица связей укажите, в каких столбцах импортируемой таблицы находятся идентификаторы экземпляров другой сущности:

    1. В столбце Тип сущности в шине укажите идентификатор типа другой сущности, который будет использоваться для передачи данных о ней в NATS. Идентификатор может быть произвольным, соответствующим бизнес-логике сущности.

    2. В столбце Имя колонки идентификатора укажите имя столбца в таблице или результате запроса к БД, в котором хранятся идентификаторы экземпляров внешней сущности.

    Пример заполнения таблицы связей

    Пусть с помощью интеграции импортируется информация об устройствах. Запрос к БД возвращает таблицу со следующими столбцами:

    • deviceId — уникальный идентификатор устройства;

    • deviceName — имя устройства;

    • ipAddress — IP-адрес устройства;

    • adminId — идентификатор учетной записи пользователя, который является администратором устройства.

    Пусть для сущности Учетная запись выбран идентификатор типа в NATS AccountType. Учетная запись — внешняя сущность по отношению к устройству. Поэтому, чтобы импортировать связь устройства и учетной записи, в таблицу связей необходимо добавить следующую строку:

    Тип сущности в шине Имя колонки идентификатора

    AccountType

    adminId

    В столбце Тип сущности в шине каждая внешняя сущность должна быть указана только один раз. При наличии дубликатов сущностей в работе интеграции могут возникнуть ошибки.
  26. Если вы импортируете экземпляры сущности, не являющейся типом ИБ-активов, добавьте новое правило нормализации в строку таблицы Правила нормализации.

    По умолчанию в таблицу Правила нормализации добавлены только правила нормализации данных об ИБ-активах.
    1. Если правило нормализации для импортируемой сущности не существует, создайте его согласно инструкции в разделе Настройка правил нормализации для интеграций.

    2. В таблицу Правила нормализации добавьте следующую строку:

      • Тип сущности — тип импортируемой сущности в 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"].

  27. Если вы импортируете связи между сущностями, хотя бы одна из которых не является типом ИБ-активов, в таблицу Правила связывания добавьте по строке для каждой из таких связей.

    По умолчанию в таблицу Правила связывания добавлены только правила связывания ИБ-активов.

    Строки заполняются следующим образом:

    • ID домена связи — идентификатор схемы домена, в которой определена импортируемая связь.

    • ID связи — идентификатор импортируемой связи в схеме домена.

    • Тип сущности — тип импортируемой сущности в NATS. Может быть произвольным, соответствующим бизнес-логике сущности.

    • ID домена связываемой сущности — идентификатор схемы домена, в котором определена связываемая сущность.

    • ID связываемой сущности — идентификатор связываемой сущности в схеме домена.

    • Тип связываемой сущности — тип связываемой сущности в NATS. Может быть произвольным, соответствующим бизнес-логике сущности.

    • Тип сущности (левая сторона связи) — тип импортируемой сущности в NATS; укажите то же значение, что и в столбце Тип сущности.

    • Тип сущности (правая сторона связи) — тип связываемой сущности в NATS; укажите то же значение, что и в столбце Тип связываемой сущности.

    Например, пусть требуется импортировать сущность Storage из домена storage.custom, связанную с сущностью Device из домена isassets.rvision.ru и с сущностью Shelf из домена storage.custom.

    Тогда в таблицу Правила связывания следует добавить две строки:

    1. Для связи с сущностью Device:

      • ID домена связи — storage.custom.

      • ID связи — Storage_to_Device.

      • Тип сущности — StorageType.

      • ID домена связываемой сущности — isassets.rvision.ru.

      • ID связываемой сущности — Device.

      • Тип связываемой сущности — DeviceType.

      • Тип сущности (левая сторона связи) — StorageType.

      • Тип сущности (правая сторона связи) — DeviceType.

    2. Для связи с сущностью Shelf:

      • ID домена связи — storage.custom.

      • ID связи — Storage_to_Shelf.

      • Тип сущности — StorageType.

      • ID домена связываемой сущности — storage.custom.

      • ID связываемой сущности — Shelf.

      • Тип связываемой сущности — ShelfType.

      • Тип сущности (левая сторона связи) — StorageType.

      • Тип сущности (правая сторона связи) — ShelfType.

  28. Чтобы настроить расписание запуска интеграции, установите переключатель Запуск по расписанию в активное положение и выполните действия ниже.

  29. Выберите часовой пояс из выпадающего списка.

  30. Выберите формат расписания, на основании которого будет запускаться интеграция. Доступные форматы:

    • Cron-выражение;

    • Расписание.

  31. Если была выбрана опция Cron-выражение, задайте cron-выражение для запуска интеграции по расписанию.

    Указанное cron-выражение задает расписание для триггера, по которому выполняется интеграция. Вы можете ознакомиться с синтаксисом cron-выражений в разделе Работа с автоматизациями.
  32. Если была выбрана опция Расписание, выполните следующие шаги:

    1. Выберите режим запуска интеграции из выпадающего списка Запускать. Доступные режимы:

      • Каждый месяц;

      • Каждую неделю;

      • Каждый день;

      • Каждый час;

      • Каждую минуту.

    2. Если выбран режим запуска Каждый месяц, укажите следующие параметры:

      1. Интервал между запусками в месяцах.

      2. Дни месяца, в которые будет выполняться запуск, через запятую. Например: 1, 5, 10, 15, 20, 25, 30.

    3. Если выбран режим запуска Каждую неделю, выберите из выпадающего списка день недели, в который будет запускаться интеграция.

    4. Если выбран режим запуска Каждый день, Каждый час или Каждую минуту, укажите интервал между запусками в днях, часах или минутах соответственно.

    5. Если выбран любой режим запуска, кроме Каждую минуту, выберите интервал времени, в который будет запускаться интеграция.

      Доступны интервалы в 15 минут с 00:00 до 23:59.
  33. Нажмите на кнопку Добавить. Система создаст интеграцию и отобразит уведомление об успешном создании.

Просмотр интеграции

Чтобы просмотреть настройки интеграции:

  1. Перейдите в раздел Настройки → Интеграции → Интеграции ИБ-активов веб-интерфейса R-Vision VM. Система отобразит список существующих интеграций.

  2. Нажмите на строку интеграции в списке. Система отобразит в правой части экрана карточку этой интеграции с подробной информацией о ней.

В верхней части карточки отображается название интеграции. Справа от названия расположена кнопка more vertical, при нажатии на которую открывается выпадающее меню с действиями, доступными для выбранной интеграции.

Карточка интеграции содержит следующие вкладки:

  • Основное — основная информация об интеграции.

  • Расширенные параметры — дополнительные параметры интеграции: размер выборки, таблицы правил связывания и нормализации.

  • История — история изменений интеграции.

  • Конфигурация — тип источника данных и группа воркеров интеграции, а также настройки интенсивности обработки импортируемых объектов.

Вкладка Основное

  • Кнопка Запустить (play) позволяет запустить интеграцию вручную.

  • Организация — организация, в которой работает интеграция.

  • Название — название интеграции.

  • Статус — статус последнего запуска интеграции:

    • Успешно;

    • Ошибка;

    • В процессе;

    • Отменена.

  • Секция Параметры подключения:

    • Адрес — доменное имя или 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 за один раз.

  • Задержка отправки запросов — интервал в секундах между повторными запросами к внешней системе, если запрос к ней завершился с ошибкой.

  • Число повторных попыток отправки данных — максимальное количество повторных запросов к внешней системе, если запрос к ней завершился с ошибкой.

Изменение интеграции

Вы можете изменить интеграцию следующими способами:

Удаление интеграции

Вы можете удалить интеграцию следующими способами:

Была ли полезна эта страница?

Обратная связь