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

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

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

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

# cd /opt
# md5sum -c checksum.txt

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

4.2. Подготовка к установке программы на сервере или ВМ

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

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

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

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

Примечание

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

4.2.1. Установка необходимых для работы пакетов и приложений

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

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

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

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

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

yum install docker-ce docker-ce-cli curl wget tzdata
systemctl enable --now docker
  1. Если в вашем дистрибутиве Linux отсутствует Docker Compose, требуется предварительно его скачать. Чтобы загрузить текущую стабильную версию Docker Compose, выполните команду:

curl -L "https://github.com/docker/compose/releases/download/v2.29.7/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Примечание

Чтобы установить другую версию Compose, измените номер версии 2.29.7 на номер версии Compose, которую вы хотите использовать.

  1. Выдайте права на исполнение файла:

chmod +x /usr/local/bin/docker-compose
  1. Проверьте установку Docker Compose командой:

docker-compose --version

Примечание

Если команда docker-compose завершится неудачно после установки, проверьте путь. Вы также можете создать символическую ссылку /usr/bin на любой другой каталог в вашем пути:

ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
  1. Создайте группу Docker, выполнив команду:

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

systemctl status docker

Примечание

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

Важно

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

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

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

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

useradd -m datamart -p datamart
  1. Добавьте пользователя 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. Сохраните изменения и закройте файл.

4.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

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

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

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

sudo ./datamart-studio setup

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

4.4. Установка программы Datamart Studio в среде Kubernetes (K8s)

Установка Datamart Platform Studio в среде Kubernetes (K8s) производится с использованием системы управления конфигурациями с открытым исходным кодом – Ansible, которую требуется предварительно установить. Для установки Ansible требуется выполнить следующие команды (пример для ALT Linux 8):

apt-get install ansible

Далее, необходимо установить требующиеся для работы с K8s модули Ansible:

ansible-galaxy collection install community.general kubernetes.core

Примечание

Пользователю, от имени которого производится установка в K8s не требуется никаких особенных прав на сервере (ВМ), с которого осуществляется процесс установки.

Шаги установки Datamart Platform Studio в среде Kubernetes (K8s) следующие:

  1. Подключитесь SSH-клиентом к серверу, с которого будет производится установка в Kubernetes.

  2. Распакуйте дистрибутив ПО из архива datamart-studio.tgz командой:

tar zxvf /opt/datamart-studio.tgz -C /opt
  1. Перейдите в распакованную папку для установки ПО командой:

cd /opt/datamart_studio/
  1. Выполните конфигурирование ПО для установки в среду Kubernetes:

    • Рекомендуемое значение параметра NAMESPACE для установки ПО Datamart Studio в среду Kubernetes: «dms». Данное значение может быть изменено по требованию администратора Kubernetes. В случае изменения данного параметра, во всех скриптах ниже, вместо dms необходимо будет указать новый параметр;

    • Прочитайте переменную CONTEXT из файла конфигурации Kubernetes ~/.kube/config командой:

    cat ~/.kube/config | grep context
    
    • Внесите в файл конфигурации ПО /opt/datamart-studio/datamart-studio-k8s/ansible/roles/dtms-k8s/defaults/main.yaml значение переменной CONTEXT при помощи редактора VIM (если оно отличается от того, что указано в ~/.kube/config):

    vim /opt/datamart-studio/datamart-studio-k8s/ansible/roles/dtms-k8s/defaults/main.yaml
    
    • Пример содержимого файла конфигурации /opt/datamart-studio/datamart-studio-k8s/ansible/roles/dtms-k8s/defaults/main.yaml:

    CREATE_NAMESPACE: true
    CONTEXT: "kubernetes-admin@cluster.local"
    NAMESPACE: "dms"
    
  2. Произведите требуемые настройки переменных окружения (см. разделы: Раздел 4.5 Предварительная настройка переменных окружения, Раздел 4.6 Настройка переменных окружения для работы на Платформе ГосТех);

  3. Запустите скрипт установки ПО, который выполняет команду запуска Ansible playbook установки (будет запущен /opt/datamart-studio/datamart-studio-k8s/ansible/playbooks/deploy.yaml):

./datamart-studio deploy-k8s
  1. Дождитесь сообщения об успешном окончании установки:

Datamart Studio status: 'DEPLOYED'
  1. Подождите примерно минуту до запуска интерфейса;

  2. Откройте при помощи браузера страницу по адресу https://studio-k8s (сконфигурированный администратором адрес сервера, на котором произведена установка).

Установка выполнена успешно, если после развертывания веб-интерфейс приложения доступен из браузера по адресу сервера, на котором производилась установка и отображается экран авторизации Datamart Platform Studio.

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

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

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

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

  • Данные организации по умолчанию (STUDIO_DEFAULT_ORANIZATION_NAME, STUDIO_DEFAULT_ORANIZATION_TILE, STUDIO_DEFAULT_ORANIZATION_OGRN).

4.5.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_

4.5.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.

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

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

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

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

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

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

4.6.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

4.6.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

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

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

Пример:

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

4.6.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
AUDIT_SERVICE_CERT=${STORAGE_VOL}/mtls.pem

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

Примечание

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

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

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

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

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

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

Примечание

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

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

docker ps

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

Проверить работоспособность запущенной системы можно браузером по адресу: http://0.0.0.0:8088 ,где вместо 0.0.0.0 необходимо подставить IP адрес сервера, на котором производится установка Datamart Platform Studio.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сброс всех параметров

Рисунок 4.6 Сброс всех параметров

  1. Контейнеры Docker остановлены и данные сброшены;

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

./datamart-studio launch

Важно

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

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

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

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

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

sudo docker image rm $(docker images -aq)
  1. Удалите все файлы, включая скрытые, из каталога пользователя datamart, в котором была установлена программа:

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

Важно

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

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

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

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

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

  • Услуга;

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

  • Сервер;

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

  • Бандл;

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