Вы читаете development версию документации. Для просмотра актуальной версии перейдите в ветку: master.

3. Установка и настройка программы Datamart Studio

Для первичной установки Datamart Platform Studio в системе потребуется выполнить следующие действия:

  1. Установить необходимые для работы Программы пакеты в ОС;

  2. Добавить в ОС пользователя datamart и настроить права доступа;

  3. Скачать и установить программу Datamart Platform Studio.

Примечание

При установке в RED OS убедитесь, что параметр SELinux отключен.

3.1. Проверка контрольной суммы

Различные версии дистрибутива Datamart Platform Studio имеют разную контрольную сумму. Уточнить контрольную сумму можно в службе технической поддержки, либо в документации, выпущенной под конкретную версию продукта.

В поставку Datamart Platform Studio включается файл с контрольной суммой checksum.txt. Проверить контрольную сумму дистрибутива можно командой:

# cd /opt
# md5sum -c checksum.txt

Проверка выполнена успешно, если контрольная сумма MD5 совпадает с контрольным значением, которое хранится в файле checksum.txt и команда возвращает ответ: «ЦЕЛ».

3.2. Подготовка к установке программы

Перед началом установки Datamart Platform Studio в ОС сервера потребуется установить компоненты Docker, Docker Compose, Podman, Podman Compose, Wget, Curl, TZData (если они еще не установлены в текущей комплектации ОС, на которую производится установка Программы). Пакет TZData требуется для синхронизации времени между хостом и контейнерами Datamart Platform Studio.

3.2.1. Подготовка ПО для установки при помощи Docker

  1. Для установки Docker, Wget, Curl, TZData последовательно выполните следующие команды установки:

Пример для ALT Linux:

apt-get update
apt-get install curl wget docker-engine docker-compose-v2 -y
systemctl enable --now docker
apt-get install tzdata

Пример Astra Linux:

apt-get update
apt-get install curl wget docker.io docker-compose-v2 -y
systemctl enable --now docker
apt-get install tzdata

Пример для RED OS:

yum install docker-ce docker-ce-cli docker-compose curl wget tzdata
systemctl enable --now docker
  1. Проверьте установку Docker Compose командой:

docker compose version
  1. Создайте группу Docker, выполнив команду:

groupadd docker
  1. Проверьте работоспособность Docker, выполнив команду:

systemctl status docker

Примечание

Статус сервиса docker.service должен быть active (running). Выход из командной строки systemctl по Ctrl+C.

Важно

Если программы Docker или Docker Compose не запустились на вашем сервере, выясните с администратором сервера причину, устраните ее и переустановите программы. Данные программы необходимы для последующей установки и функционирования контейнеров Datamart Platform Studio.

3.2.2. Подготовка ПО для установки при помощи Podman

  1. Для установки Podman, Wget, Curl, TZData последовательно выполните следующие команды установки:

Пример для ALT Linux и Astra Linux:

apt-get update
apt-get install curl wget podman podman-compose -y
systemctl enable --now docker
apt-get install tzdata

Пример для RED OS:

yum install podman podman-compose curl wget tzdata
systemctl enable --now docker
  1. Проверьте установку podman и podman-compose командой:

podman-compose –version

Важно

Если программы Podman или Podman Compose не запустились на вашем сервере, выясните с администратором сервера причину, устраните ее и переустановите программы. Данные программы необходимы для последующей установки и функционирования контейнеров Datamart Platform Studio.

3.2.3. Добавление пользователя datamart в ОС

Для добавления пользователя, от имени которого будет выполняться дальнейшая инсталляция, необходимо выполнить следующие операции:

  1. Создайте пользователя datamart, и назначьте ему пароль datamart (вы можете ввести любой пароль по своему усмотрению), выполнив команду:

useradd -m datamart -p datamart
  1. В случае использования Docker, добавьте пользователя datamart в группу docker, выполнив команду:

usermod -aG docker datamart
  1. Добавьте пользователя datamart в группу <sudogrp> для предоставления прав sudo (имя группы <sudogrp> соответствует wheel для Alt Linux, RedOS и sudo для Astra Linux):

usermod -aG <sudogrp> datamart

Примечание

Для отключения запроса пароля при вызове sudo для пользователя datamart, требуется выполнить следующие операции:

  1. Добавьте в настройки (пользователя или группы) директиву NOPASSWD, для этого выполните настройку в текстовом редакторе:

visudo
  1. Добавьте настройку для пользователя datamart:

datamart ALL=(ALL) NOPASSWD: ALL

Важно

Необходимо добавить запись после строки %wheel ALL=(ALL) ALL .

  1. Сохраните изменения и закройте файл.

3.3. Установка программы Datamart Studio на сервере или ВМ

Для установки Datamart Platform Studio необходимо выполнить следующие операции:

  1. Перейдите в режим пользователя datamart, выполнив команду:

su - datamart
  1. Загрузите дистрибутив Datamart Platform Studio, выполнив команду:

wget --user=<user> --password=<password> --no-check-certificate https://dms-demo.datamart.ru/datamart/dtms-builds/datamart-studio-<version>.tar.gz -O datamart-studio.tgz

где:

  • <version> - версия требуемого дистрибутива

  • <user> - имя пользователя, которому выдано разрешение скачать дистрибутив

  • <password> - пароль пользователя

  1. Распакуйте дистрибутив в целевую директорию, выполнив команду:

tar -xvzf datamart-studio.tgz

Примечание

При распаковке дистрибутива заполняется файл .env с требуемыми для данной поставки переменными окружения.

  1. Проверьте наличие и состав переменных окружения, выполнив команду:

cat .env

Пример ответа на команду cat .env:

Пример ответа на команду cat .env

Рисунок 3.5 Пример ответа на команду cat .env

  1. Произведите требуемые для вашей установки настройки переменных окружения (см. разделы: Раздел 3.4 Предварительная настройка переменных окружения, Раздел 3.5 Настройка переменных окружения для работы на Платформе ГосТех);

  2. Для развёртывания Datamart Platform Studio выполните команду:

Для Docker:

sudo ./datamart-studio setup

Для Podman:

sudo ./datamart-studio --engine podman setup

После выполнения всех шагов будет произведено развертывание и загрузка образов компонентов программы в контейнеры.

3.4. Предварительная настройка переменных окружения

Перед тем, как произвести запуск Datamart Platform Studio, администратор может дополнительно настроить переменные окружения в файле .env (см. Раздел 10.3 Настройка параметров в файле конфигурации ), которые влияют на работу с программой:

  • Используемая система авторизации (AUTH);

  • Количество воркеров (RESQUE_QUEUE_POOL_SIZE);

  • Данные организации по умолчанию (STUDIO_SEED_ORGANIZATION_NAME, STUDIO_SEED_ORGANIZATION_TITLE, STUDIO_SEED_ORGANIZATION_OGRN).

Глобальные параметры, указанные в файле .env применяются единожды в момент установки Datamart Platform Studio, дальнейшее управление происходит из интерфейса.

3.4.1. Настройка подключения к БД

В качестве БД для хранения служебной информации Datamart Platform Studio (в зависимости от комплекта поставки) использует СУБД Postgres или Pangolin. Если СУБД включена в поставку Datamart Platform Studio, переменные окружения уже настроены на подключение к контейнеру с СУБД и дополнительная конфигурация не требуется.

В случае, если СУБД предоставляется для Datamart Platform Studio, как отдельный Сервис транзакционной СУБД, то в переменных окружения DB необходимо указать параметры подключения к сервису транзакционной СУБД. При установке, Datamart Platform Studio автоматически создаст необходимую для своей работы схему в БД.

Пример настроек параметров БД Datamart Platform Studio при подключении к Сервису внешней транзакционной СУБД:

DB_HOST=pgse-datamart-01.dvpaio.novalocal
DB_PORT=6544
DB_USER=sauser
DB_PASSWORD=*****
DB_NAME=datamart

3.4.2. Настройка подключения к сервису Keycloak

Для обеспечения работы средств наложенной защиты Proxy API в конфигурационном файле требуется указать параметры подключения к сервису Keycloak, в котором пользователь будет получать JWT-токен, необходимый для аутентификации при выполнении запросов к Proxy API.

Пример:

KEYCLOAK_CLIENT_NAME=studio-k8s-gostech
KEYCLOAK_CLIENT_SITE=https://keycloak.dvpaio.novalocal:8444
KEYCLOAK_CLIENT_REALM=Arenadata
KEYCLOAK_CLIENT_BASE_URL=/auth

Примечание

Подключение к Keycloak настраивается независимо от способа авторизации. Для получения и использования JWT-токена в Keycloak должен быть добавлен соответствующий пользователь с технической ролью proxy_api.

3.5. Настройка переменных окружения для работы на Платформе ГосТех

При разворачивании программы в качестве Сервиса оркестрации Витрин данных НСУД на платформе ГосТех необходимо применить следующие настройки переменных окружения:

  • Настройки авторизации и аутентификации;

  • Настройки параметров мониторинга;

  • Настройки параметров журналирования;

  • Настройки параметров отправки событий аудита.

3.5.1. Настройка авторизации и аутентификации

Примечание

При предоставлении Datamart Platform Studio, как сервиса на Платформе ГосТех добавление пользователей для Datamart Platform Studio, назначение ролей и организаций пользователям производится в сервисе Platform V IAM

Тип авторизации AUTH=IAM и параметры подключения к сервису Platform V IAM указываются в файле конфигурации.

Пример:

AUTH=IAM

KEYCLOAK_CLIENT_NAME=studio-k8s-gostech
KEYCLOAK_CLIENT_SITE=https://keycloak.dvpaio.novalocal:8444
KEYCLOAK_CLIENT_REALM=Arenadata
KEYCLOAK_CLIENT_BASE_URL=/auth

Ключи для подключения к Platform V IAM предоставляются администратором Платформы. Для использования их в Datamart Platform Studio при подключении к Platform V IAM предоставленные ключи необходимо собрать командой в один файл ключа в формате PEM:

for file in $(ls ./*); do (cat ${file}; echo) >> mtls.pem; done;

и сохранить полученный ключ в папку DMS-DIRS в Datamart Platform Studio.

Примечание

В docker-контейнере Студии ключ будет расположен в папке: /opt/mtls.pem

3.5.2. Настройка параметров мониторинга

Метрики мониторинга собираются в формате Prometheus используемом для чтения Сервисом мониторинга (Platform V Monitor).

Настройка формата метрик производится в параметрах конфигурационного файла .env.

Пример:

LOG_FORMATTER=gostech # настройка формата Prometheus для ГосТех
LOG_FORMATTER_BACKTRACE_LENGTH=7

# настройки экспорта метрик мониторинга в формате PROMETHEUS
PROMETHEUS_EXPORTER_HOST=0.0.0.0 - не требуется менять
PROMETHEUS_EXPORTER_PORT=9394 - - не требуется менять
PROMETHEUS_DATA_UPDATE_INTERVAL=2 - интервал обновления метрик для PROMETHEUS

3.5.3. Настройка параметров журналирования

Настройка отправки данных логов в Сервис журналирования производится в параметрах конфигурационного файла .env указанием параметров, предоставленных администратором Платформы для подключения к Сервису журналирования.

Пример:

LOGSTASH_HOST=logstash-client-01-datamart.dvpaio.novalocal
LOGSTASH_PORT=5045
LOGSTASH_TLS=On

3.5.4. Настройка параметров отправки событий аудита

Данные о событиях аудита собираются и отправляются асинхронно в очередь audit в компоненте resque. Настройка отправки событий из очереди audit в сервис Platform V Audit производится в параметрах конфигурационного файла .env указанием параметров, предоставленных администратором Платформы для подключения к сервису аудита.

Пример:

SEND_AUDIT_EVENTS=true # включение отправки событий аудита в очередь audit в resque

AUDIT_SERVICE_HOST=https://fis-mtls.gt-sol-dev-coreplatform-01.apps.k8s.dvp.tech/audit/proxy
AUDIT_SERVICE_EVENT_ENDPOINT=v2/rn/inv-yen-datamart/event
AUDIT_SERVICE_METAMODEL_ENDPOINT=v2/rn/inv-yen-datamart/metamodel

3.6. Первичный запуск на сервере или ВМ

Примечание

При установке программы Datamart Studio в среде Kubernetes (K8s) процедура первичного запуска не требуется

Для первичного запуска Программы оркестрации компонентов витрин данных Datamart Studio необходимо выполнить следующие операции:

  1. Выполните команду (важно: без sudo):

./datamart-studio launch
  1. В случае успешного запуска, команда должна завершиться сообщениями (см. Рисунок 3.6):

Сообщение об успешном завершении первичного запуска программы

Рисунок 3.6 Сообщение об успешном завершении первичного запуска программы

Примечание

C момента запуска до возможности доступа к пользовательскому интерфейсу может пройти до 3 минут, в зависимости от мощности сервера, на котором разворачивается Datamart Platform Studio.

Для проверки работоспособности контейнеров необходимо выполнить команду, в зависимости от системы контейнеризации:

для Docker:

docker ps

для Podman:

podman ps

на экран будет выведен список запущенных контейнеров из поставки.

Проверить работоспособность запущенной системы можно браузером по адресу: http(s)://<адрес сервера c установленной Datamart Platform Studio>:8088.

В браузере должно отобразиться окно авторизации Datamart Platform Studio:

Окно авторизации |prod|

Рисунок 3.7 Окно авторизации Datamart Platform Studio

3.7. Остановка программы

Во время эксплуатации Datamart Platform Studio может потребоваться остановить работу Программы, например, для плановой перезагрузки сервера. Для остановки Программы необходимо выполнить следующие операции:

  1. Для корректной остановки авторизуйтесь в терминале сервера от имени пользователя datamart и выполните следующую команду:

./datamart-studio stop
  1. Дождитесь сообщения об успешной остановке программы (см. Рисунок 3.8):

Сообщение об успешной остановке

Рисунок 3.8 Сообщение об успешной остановке

3.8. Запуск программы после установки

В случае плановой перезагрузки сервера, а также в случае аварийного отключения сервера, потребуется вновь вручную запустить ранее работавшую Datamart Platform Studio. Для запуска Программы после остановки необходимо выполнить следующие операции:

  1. Авторизуйтесь в терминале сервера от имени пользователя datamart;

  2. Выполните команду:

./datamart-studio start
  1. Дождитесь сообщения об успешном старте Программы (см. Рисунок 3.9):

Сообщение об успешном старте после временной остановки

Рисунок 3.9 Сообщение об успешном старте после временной остановки

  1. После успешного запуска интерфейс Программы будет доступен по адресу http://0.0.0.0:8088 , где вместо 0.0.0.0 укажите IP-адрес сервера, на котором развёрнута Datamart Platform Studio.

3.9. Получение доступа к контейнерам Datamart Platform Studio

Для оперативной диагностики и отладки проблем с контейнерами Datamart Platform Studio, необходимо выполнить команду:

./datamart-studio enter <container>

, где:

  • <container> - имя контейнера Datamart Platform Studio.

Список контейнеров Datamart Platform Studio:

  • app - для проверки env, запуска Rails console;

  • db - для проверки данных служебной БД;

  • redis - для проверки очередей и сессий;

  • resque - для отладки Resque-воркеров;

  • resque-scheduler - для просмотра логов выполнения команд по расписанию;

  • nexus - для загрузки Docker-образов и при недоступности registry;

  • gitea - для проверки состояния корректности бандлов;

  • angie - для проверки причин недоступности веб-интерфейса;

  • proxy_api - для проверки конфигурации модуля Proxy API и просмотра логов

  • proxy_api_angie - для отладки проблем проксирования запросов.

3.10. Сброс параметров

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

  1. Выполните команду destroy от имени пользователя datamart:

./datamart-studio destroy
  1. Дождитесь сообщения об успешной остановке контейнеров (см. Рисунок 3.10):

Остановка контейнеров |prod|

Рисунок 3.10 Остановка контейнеров Datamart Platform Studio

  1. Контейнеры остановлены;

Примечание

Команда destroy удаляет только dms-dirs/dms-* и app.lock. Данные PostgreSQL, Nexus, Gitea, Redis, .env остаются без изменений.

  1. Для последующего запуска Программы выполните команду:

./datamart-studio launch

Важно

После выполнения пары команд destroy – launch Datamart Platform Studio будет переведена в состояние первичного запуска. Вам вновь потребуется произвести первичный запуск пользовательского интерфейса Программы (см. Раздел 3.6 Первичный запуск на сервере или ВМ) и вновь установить SSH-ключ.

3.11. Удаление программы с сервера

Если Вам необходимо полностью удалить Datamart Platform Studio с сервера, выполните следующие операции:

  1. Выполните команду destroy от имени пользователя datamart:

./datamart-studio destroy
  1. Очистите содержимое контейнеров командой:

для Docker:

sudo docker image rm $(docker images -aq)

для Podman:

sudo podman rmi -af
  1. Удалите все файлы, включая скрытые, из каталога пользователя datamart, в котором была установлена программа:

sudo rm -rf /home/datamart/{*,.*}

Важно

При удалении программы Datamart Studio приложения услуг (в т.ч. Витрин данных) не удаляются автоматически. Если вам необходимо удалить Datamart Platform Studio и все услуги с установленными в них компонентами, которыми управляет Datamart Platform Studio, то перед удалением необходимо деинсталлировать все компоненты услуг.

3.12. Просмотр логов и сообщения администратору

Сообщения администратору и логи работы компонентов Datamart Platform Studio выводит в раздел Логи в карточке соответствующего компонента.

Логи доступны в карточках компонентов:

  • Дата-центр;

  • Услуга;

  • Инсталляция;

  • Сервер;

  • Приложение;

  • Бандл;

  • Гипервизор.