Сервис переноса отчетов Migration Service. Руководство пользователя - Публичная база знаний Modus
Назначение сервиса
Modus Migration Service переносит группы отчётов, отчёты, наборы данных и связанные объекты между аналитическими порталами ModusBI. Промежуточным источником данных служит отдельный Git-репозиторий поддерживаемой модели.
Сервис позволяет организовать:
- Перенос информации о, отчетах, наборах данных и группах отчетов между различными аналитическими порталами
- Выполнять поддержку выбранных объектов в виде стабильной поставки
- Обеспечить версионирование отчетов в Git-репозиторий
- Выполнять ревью изменений поддерживаемой модели
- Выполнять автоматическое разворачивание данных в аналитическом портале через rest api
Перед началом работы
Подготовьте:
- учётные данные порталов (адрес, логин и пароль, под которыми будет выполняться авторизация сервиса);
- отдельный Git-репозиторий поддерживаемой модели;
- запросите токен сервиса, если администратор включил авторизацию.
Вход в сервис
- Откройте адрес сервиса в браузере.
- Введите токен в поле «Токен», если открылась страница «Вход».
- Нажмите кнопку «Продолжить»
Добавление портала
Порталы-источники и порталы-приёмники создаются одинаково.
- Перейдите в раздел «Порталы»
- Укажите код, название и URL портала.
- При необходимости измените имена переменных окружения для логина и пароля (по умолчанию они заполняются автоматически).
- Введите логин и пароль.
- Установите флаг Проверять TLS-сертификат, если нет отдельной причины отключать проверку.
- Нажмите Сохранить.
- Нажмите Проверить подключение.

Создание проекта
Проект связывает портал-источник с отдельным Git-репозиторием модели. Выбранный проект определяет модель, портал-источник, профили поставки, Git и список заданий. Портал-приёмник в проекте не закрепляется и выбирается отдельно для каждой поставки.
- Откройте раздел «Проекты».
- Укажите код и понятное наименование проекта.
- Укажите корень отдельного Git-репозитория поддерживаемой модели.
- Выберите портал в поле «Портал-источник».
- Нажмите кнопку «Проверить источник».
- Нажмите кнопку «Сохранить проект»
Примечание — в системе должен быть установлен Git (https://git-scm.com/) для инициализации git хранилища в будущей папке проекта выполните в папке команду -git init

Переключить проект
Переключатель Проект находится в верхней панели.
Он меняет рабочий контекст:
- портал-источник;
- путь к Git-модели;
- профили поставки;
- Git-статус;
- список заданий.
Перед экспортом, редактированием модели и поставкой проверьте, что выбран нужный проект.
Выбор объектов для поставки
Поставку в портал-приемник можно выполнить при напрямую из портала-источника или загрузив данных из Git-модели.
- Откройте раздел «Перенос».
- Нажмите кнопку «Обновить с портала» в блоке «Источник».
- Снимите флаг «Только поддерживаемая модель», если нужно добавить объект, которого ещё нет в модели.
- Переключайтесь между вкладками «Группы», «Отчёты» и «Датасеты».
- Найдите объекты по идентификатору или наименованию и установите флаги.
После обновления сервис автоматически отмечает объекты, которые уже входят в поддерживаемую модель. Соответствие модели и портала определяется по исходному идентификатору объекта.
Примечание — восстановленный флаг группы не выбирает отчёты, которые появились в этой группе после предыдущего сохранения. Все отчёты группы отмечаются только после явного изменения флага группы.

Расчёт зависимостей
Перед сохранением отчетов в модель обязательно необходим поиск зависимых объектов для исключения ошибок переноса.
Выберите один из режимов:
- «Минимальные зависимости» — добавить собственные наборы данных выбранных отчётов без переходов в соседние отчёты;
- «Каскадные зависимости» — рекурсивно добавить отчёты из точных ссылок
/report/{id}и наборы данных всех найденных отчётов.
- Сначала установите флаги всех нужных групп и отчётов.
- Нажмите кнопку выбранного режима зависимостей.
- Дождитесь завершения расчёта.
- Проверьте автоматически отмеченные объекты.
После любого изменения флагов отчётов или групп повторно рассчитайте зависимости. При выборе только наборов данных расчёт не требуется.
Перенос данных в портал приемник
Для переноса данных необходимо выбрать объекты для переноса, выбрать портал приемник, настроить сопоставления, проверить возможность переноса.
Выбор объектов для переноса
Поставку в портал приемник портал-приемник можно выполнить при напрямую из портала-источника или загрузив данных из Git-модели.
- Нажмите кнопку «Загрузить из Git-модели» для того чтобы загрузить информацию о поддерживаемых объектах из хранилища, или «Обновить с портала», чтобы выполнить загрузку актуальных данных портала (при этом, все изменения всё равно нужно будет сохранить в модель) .
- Выберите портал в поле «Портал-приёмник».
- Выберите режим поставки.
- Выберите способы сопоставления отчётов и наборов данных.
- Рассчитайте минимальные или каскадные зависимости, если поставка содержит отчёты.
Доступны режимы:
- полная поставка;
- только отчёты;
- только наборы данных.
Выбор объектов для отдельной поставки не изменяет поддерживаемую модель.
Настройка сопоставлений
Выберите поиск отчётов и наборов данных:
- «По имени» — использовать уникальное техническое наименование
name; - «По ID» — использовать числовой идентификатор объекта.
Примечание — используйте поиск по идентификатору только для контуров с заранее согласованными идентификаторами. Для модели, которую наполняют разные порталы, используйте наименования.
- Нажмите кнопку «Заполнить» в блоке «Источники данных».
- Укажите целевой источник для каждого исходного источника.
- Откройте блок «Соответствие объектов».
- Задайте явные соответствия групп, отчётов или наборов данных, если автоматический поиск неприменим.
Проверка и выполнение поставки
- Нажмите кнопку «Проверить план».
- Дождитесь завершения проверки.
- Исправьте все ошибки, если план заблокирован.
- Проверьте лог предупреждений.
- Нажмите кнопку «Выполнить поставку», если план исполним.
- Подтвердите запись объектов.
- Проверьте результат в разделе «Задания».
Проверка плана читает данные, но ничего не записывает в целевой портал. Перед фактической записью сервис повторяет проверку.
Работа с изолированными контурами
При работе с изолированным контуром, необходимо сначала провести выгрузку данных в Git-хранилище, затем перенести хранилище в изолированный контур, и загрузить модель из Git-хранилища для переноса.
- Сохраните снимок исходного портала в модель.
- Зафиксируйте и отправьте изменения модели в Git.
- Получите нужную ветку Git в среде целевого портала.
- Загрузите состав из Git-модели.
- Проверьте план и выполните поставку.
DEV → экспорт → Git → проверка плана → PROD
Управление составом модели
Пользователь может управлять поддерживаемым составом объектов в разделе «Поддерживаемая модель».
- Откройте раздел «Поддерживаемая модель».
- Проверьте группы, отчёты, наборы данных, ресурсы и контрольные суммы.
- Установите флаги объектов, которые должны остаться в модели.
- Нажмите кнопку «Установить выделение», чтобы добавить обязательные зависимости.
- Нажмите кнопку «Сохранить состав».
- Подтвердите удаление неотмеченных объектов.
Примечание — только команда «Сохранить состав» удаляет неотмеченные объекты из Git-каталога. Установка или снятие флагов в разделе «Перенос» состав модели не изменяет.
Верните удалённый объект повторным экспортом с портала или восстановлением нужной версии через Git.

Контроль заданий
Раздел задания показывает полный лог работы сервиса переноса, позволяет показать ход работы заданий, предупреждения и ошибки переноса, а также позволяет восстановить состояние сервиса приемника до переноса, если это необходимо.
Откройте раздел «Задания» и проверьте статус:
queued— задание ожидает запуска;running— задание выполняется;succeeded— задание завершено успешно;failed— задание завершено с ошибкой до восстановления;rolling_back— выполняется автоматическое восстановление;rolled_back— ошибка поставки устранена восстановлением;rollback_failed— восстановление требует ручной проверки;interrupted— выполнение прервано перезапуском сервиса.
Разверните задание и прочитайте журнал. После успешной поставки проверьте диагностическое сравнение прочитанных объектов с моделью. Предупреждения сравнения не отменяют успешно записанные данные, а ошибка записи запускает автоматическое восстановление.
Восстановление состояния
- Откройте раздел «Задания».
- Разверните нужную успешную поставку или поставку со статусом
rollback_failed. - Нажмите кнопку «Восстановить состояние до поставки» или «Повторить восстановление до поставки».
- Дождитесь завершения отдельного задания восстановления.
- Проверьте журнал и объекты целевого портала.
Восстановление удаляет объекты, созданные поставкой, и возвращает предыдущие версии обновлённых объектов в обратном порядке.
