You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 22 Current »

ExeReport поставляется в формате контейнеризированного приложения, которое может быть запущено как в Docker, так и в кластере Kubernetes.

На данной странице представлена инструкция для инсталляции ПО ExeReport в Docker. По вопросам установки ПО ExeReport в кластере Kubernetes необходимо обращаться на портал технической поддержки.

Параметр

Значение

Процессор

Не менее 4 vCPU.

Частота – не ниже 2,6 ГГц.

Поддерживает работу с 64-разрядными приложениями на аппаратном уровне.

ОЗУ

Минимум 4 GB RAM

Свободное пространство на жестком диске

Объем – не менее 50 Гб.

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

Подготовка к установке

  1. Установка Docker

    Для установки Docker потребуется доступ в интернет. После установки завершения установки доступ в интернет можно будет закрыть

    Детальную информацию по установке Docker также можно найти на сайте Вендора - https://docs.docker.com/engine/install/.

    Установка Docker выполняется в терминале ОС под пользователем с правами root

    Для установки docker, в терминале Ubuntu необходимо последовательно выполнить следующие команды:

    # Add Docker's official GPG key:
    sudo apt-get update
    sudo apt-get install ca-certificates curl
    sudo install -m 0755 -d /etc/apt/keyrings
    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
    sudo chmod a+r /etc/apt/keyrings/docker.asc
    
    # Add the repository to Apt sources:
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
      $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update
    
    # Install latest version:
    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

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

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

    sudo docker run hello-world

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

    Установка Docker выполняется в терминале ОС под пользователем с правами root

    Для установки docker, в терминале Cent OS необходимо последовательно выполнить следующие команды:

    sudo yum check-update
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
    sudo systemctl start docker
    sudo systemctl enable docker
    sudo systemctl status docker

    Последняя команда показывает состояние docker. Состояние после успешной установки должно быть active(running).

    Установка Docker выполняется в терминале ОС под пользователем с правами root

     Для установки docker, в терминале Debian необходимо последовательно выполнить следующие команды:

    apt install lsb-release gnupg2 apt-transport-https ca-certificates curl software-properties-common -y
    curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/trusted.gpg.d/debian.gpg
    add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
    apt update
    apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
    systemctl start docker 
    systemctl enable docker
    docker version

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


  2. Для хоста, на котором установлен Docker обязательно должен быть сконфигурирован ip адрес отличный от "127.0.0.1". Данный ip адрес должен быть использован в качестве [host_ip] при выполнении дальнейших пунктов инструкции.

  3. Подготовка сертификатов 

    Для использования защищенных протоколов https ssl, необходимо сгенерировать и сконвертировать сертификаты для вашего домена.

    Для создания и конвертации сертификатов необходимо установить openssl. Детальная инструкция по установке доступна по ссылке https://wiki.openssl.org/index.php/Binaries.

    На первом шаге необходимо сгенерировать key файл. Для этого необходимо выполнить команду в терминале:

    openssl genrsa -out wildcard.[домен].key 2048

    Затем необходимо создать файл cnf с конфигурационной информацией следующего содержания:

    [ req ]
    default_bits = 2048
    distinguished_name = req_distinguished_name
    req_extensions = req_ext
    prompt = no
    
    [ req_distinguished_name ]
    C = RU
    ST = Russia
    L = Moscow
    O = [организация]
    CN =[домен]
    
    [ req_ext ]
    subjectAltName = @alt_names
    extendedKeyUsage = serverAuth, clientAuth
    basicConstraints=CA:TRUE
    
    [alt_names]
    DNS.1 = keycloak.[домен]
    DNS.2 = middleware.[домен]
    DNS.3 = client.[домен]
    DNS.4 = mes-runtime.[домен]
    DNS.5 = exesched.[домен]
    DNS.6 = report.[домен]
    DNS.7 = *.[домен]

    После чего с использование key и cnf файла сгенерировать crt файл сертификата используя команду:

    openssl req -x509 -nodes -newkey rsa:4096 -extensions req_ext -keyout wildcard.[домен].key -out wildcard.[домен].crt -days [срок действия сертификата в днях] -config wildcard.[домен].cnf

    На основании crt файла необходимо сгенерировать pfx сертификат.

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

    openssl pkcs12 -export -out wildcard.[домен].pfx -inkey wildcard.[домен].key -in wildcard.[домен].crt

    После выполнения команды openssl запросит ввести новый пароль и подтвердить его, после чего, будет создан сертификат в формате pfx.

    Для корректного применения сертификатов необходимо указать на них ссылки для каждого из приложений.

    При установке в Docker необходимо внести правки в docker-compose.yaml в строках, указав новый crt сертификат и новый pfx сертификат

    source: /root/dev/crt/wildcard.[домен].pfx
    ...
    source: /root/dev/crt/wildcard.[домен].crt

    Для pfx сертификатов, необходимо изменить пароль в следующих строках:

    ASPNETCORE_Kestrel__Certificates__Default__Password: "пароль указанный при генерации pfx сертификата"


    В инсталляционном пакете в папке crt поставляются самоподписанные сертификаты для домена mycompany.local. Если вы разворачиваете ПО ExeMES в демонстрационных, тестовых или обучающих целях (не на продуктивной среде) и не планируете использовать другой домен для работы приложения, то вы можете пропустить данный шаг инструкции и воспользоваться готовыми сертификатами.

  4. Настройка DNS

    Адреса сервисов продуктов ExePlant должны быть добавлены в DNS:
    [host_ip] client.[домен]
    [host_ip] middleware.[домен]
    [host_ip] keycloak.[домен]
    [host_ip] mes-runtime.[домен]
    [host_ip] exesched.[домен]
    [host_ip] report.[домен]

    При использовании DNS необходимо в docker-compose.yaml (из состава инсталляционного пакета) удалить конфигурацию extra_hosts

    При установке в Docker и отсутствии DNS сервера необходимо добавить в файл hosts ОС записи для каждого сервиса:

    [host_ip] client.[домен]
    [host_ip] middleware.[домен]
    [host_ip] keycloak.[домен]
    [host_ip] mes-runtime.[домен]
    [host_ip] exesched.[домен]
    [host_ip] report.[домен]



  5. Установка Guardant Control Center и Guardant SLK

    Для корректной работы программных продуктов ExePlant требуется установить Guardant Control Center на один из компьютеров в сети, который будет выполнять функцию сервера лицензирования.

    Допускается использовать в качестве сервера лицензирования хост, на котором установлен Docker

    Дистрибутивы Guardant Control Center для различных ОС поставляются совместно с ПО ExePlant и находятся в инсталляционном пакете в папке gcc:

    Выберите любой подходящий для вашей ОС файл установщик и произведите установку ПО любым удобным способом доступным в вашей ОС.

    Примеры установки Guardant Control Center в ОС Ubuntu:

    Для установки Guardant Control Center в графическом режиме в ОС Ubuntu удобно использовать установочный файл grdcontrol*.deb (конкретный файл необходимо выбрать в зависимости от разрядности ОС). Файл необходимо открыть через Центр приложений и нажать на кнопку "Установить", после чего дождаться завершения установки.

    Для установки Guardant Control Center в консольном режиме в ОС Ubuntu удобно использовать установочный файл grdcontrol*.deb (конкретный файл необходимо выбрать в зависимости от разрядности ОС). В консоли необходимо перейти в каталог расположения установочного файла и выполнить команду:

    sudo apt install ./[имя_файла].deb

    После установки ПО Guardant Control Center необходимо активировать лицензию. Активация лицензий производится с использованием ПО Мастер лицензий Guardant (входит в состав Guardant SLK и не требует установки).

    Активация лицензии может производиться в двух режимах:

    Для запуска ПО Мастер лицензий Guardant в визуальном режиме необходимо запустить файл license_wizard из архива grdcontrol-3.29.tar.gz (соответствующий файл находится в папке x86 или x86_64 в зависимости от разрядности вашей ОС).

    Для активации лицензии необходимо нажать на кнопку "+ Активация лицензии", после чего ввести в форму Программный ключ лицензии и завершить процесс активации следуя инструкциям в Мастере лицензий Guardant.

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

    После успешной активации лицензии в Мастере лицензий Guardant отобразится информация об активированной лицензии.

    Для активации лицензии необходимо перейти в папку с файлом license_wizard из архива grdcontrol-3.29.tar.gz в режиме консоли (соответствующий файл находится в папке x86 или x86_64 в зависимости от разрядности вашей ОС).

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

    chmod +x license_wizard

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

    ./license_wizard --console --activate [Программный ключ лицензии] --host https://getlicense.guardant.ru

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

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

    ./license_wizard --console --list

    В случае успешной активации в консоль будет выведена информация об активированной лицензии.

    Детальная информация по работе с Мастером лицензий Guardant представлена на сайте производителя.


Установка ExeReport для ОС семейства Linux

Для установки и запуска ExeReport необходимо распаковать архив, содержащий ПО (инсталляционный пакет) и предоставленный Вендором.

В результате у вас появится новый каталог exereport с необходимыми для запуска файлами.

Затем необходимо отредактировать файл docker-compose.yaml, расположенный в корневой папке каталога:

  • заменить по тексту файла параметр [host_ip] на ip адрес хоста, на котором инсталлирован Docker;
  • заменить по тексту файла параметр [license_server_ip] на ip адрес хоста, на котором установлен сервер лицензирования Guardant Control Center;
  • настроить необходимые переменные окружения.

Если вы разворачиваете ПО ExeReport в демонстрационных, тестовых или обучающих целях (не на продуктивной среде) с использованием домена mycompany.local и не планируете использовать другой домен для работы приложения, то вы можете пропустить следующие 4 шага

  • скопировать в каталог /exereport/crt сгенерированные ранее сертификаты;
  • предоставить права на сгенерированные ранее файлы сертификатов, выполнив команду:
    chmod -R 777 /exereport/crt/
  • отредактировать файл docker-compose.yaml: заменить по тексту файла "mycompany.local" на имя домена, для которого сгенерированы сертификаты;
  • отредактировать файлы: /exereport/data/exereport/keycloak.json: заменить в ссылках "mycompany.local" на имя домена, для которого сгенерированы сертификаты. Пример:
    /exemes/data/exemesclient/keycloak.json
    {
      "realm": "exemes",
      "auth-server-url": "https://keycloak.[домен]:5787/",
      "ssl-required": "external",
      "resource": "exereport",
      "verify-token-audience": false,
      "credentials": {
        "secret": "********************************"
      },
      "use-resource-role-mappings": true,
      "confidential-port": 0,
      "policy-enforcer": {},
      "Logout": "https://report.[домен]:9200/"
    }

Далее необходимо открыть терминал ОС с root доступом, перейти в каталог, появившийся после распаковки архива, и выполнить команду:

bash install-exereport.sh

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

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

install-exereport.sh следующий код:
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.20.2
systemctl restart docker

Если файл не запускается, измените права на этот файл командой:

chmod +x install-exereport.sh

После завершения выполнения скрипта будут запущены контейнеры приложений ExeReport, что будет подтверждено соответствующим сообщением в терминале.

После завершения инсталляции необходимо открыть web-консоль администрирования Keycloak в браузере по адресу https://keycloak.[домен]:5787. Для доступа в Keycloak необходимо воспользоваться логином и паролем административной учетной записи, которые указаны в параметрах KEYCLOAK_ADMIN_USER и KEYCLOAK_ADMIN_PASSWORD настроек контейнера keycloak в docker-compose.yaml.

В Keycloak необходимо перейти в настройки realm exemes, создать пользователя и добавить его в группу ExeReport_Admins.

Если вы запускаете ExeReport в демонстрационных, тестовых или обучающих целях (не на продуктивной среде) с использованием домена mycompany.local, то вы можете пропустить следующие шаги

В Keycloak необходимо сконфигурировать доменные имена для клиента:

  1. В левом боковом меню выберите пункт «Clients»
  2. В центральной части экрана выберите клиент «exereport»
  3. На вкладке «Settings» скорректируйте доменные имена, укажите домен в соответствии с вашей конфигурацией:

Настройка переменных окружения

Переменные окружения - набор значений, который определяет необходимые параметры работы и запуска приложений

Пакет инсталляции ExeReport уже содержит настроенные переменные окружения и если вы не планируете менять настройки по умолчанию, то можете пропустить данный шаг.

Доступные настройки:

Настройка переменной окружения DBConnection выполняется путем редактирования файла docker-compose.yaml. Пример:

DBConnection: "Host=localhost;Port=5432;Database=exereport;Username=postgres;Password=postgres"

CORS (Cross-Origin Resource Sharing) — это механизм браузера, который позволяет определить список ресурсов, к которым страница может получить доступ.

Он необходим для обеспечения безопасности и защиты пользователей от злоумышленников при использовании HTTP-протокола.

По умолчанию сайты могут запрашивать ресурсы только со своего origin. Такое ограничение называется Same-Origin Policy. CORS расширяет Same-Origin Policy, позволяя получать доступ к ресурсам с разных доменов.

Разрешения CORS могут потребоваться, если вы вызываете методы ExeReport в сторонних приложениях: внешних пользовательских портала, таких как ELMA365 и прочие.

Для разрешения CORS необходимо передать переменную окружения AllowedCORSUrls, в которой через запятую перечислить разрешенные сайты. Настройка переменной окружения AllowedCORSUrls выполняется путем редактирования файла docker-compose.yaml. Пример:

AllowedCORSUrls: "https://elma365.exeplant.local,https://portal.exeplant.local"

Доступно начиная с версии ExeReport 1.4

Для гибкой настройки параметров отчетов возможно использовать web API ExeMES.

Для подключения ExeReport к ExeMES необходимо передать переменную окружения MiddlewareApiRootUri, в которой указать ссылку на запущенное приложение ExeMES Server. Настройка переменной окружения MiddlewareApiRootUri выполняется путем редактирования файла docker-compose.yaml (по умолчанию строка закомментирована в файле в составе инсталляционного пакета). Пример:

MiddlewareApiRootUri: "https://middleware.[домен]:7142/api"

Доступно начиная с версии ExeReport 1.4

Время жизни отчета - это значение в секундах, по истечении которого отчет будет удален из внутренней памяти контейнера приложения. По-умолчанию эта настройка = 60 секундам. Минимальное возможное значение 10 секунд, максимальное - 1200 секунд.

Для настройки времени жизни отчета необходимо передать переменную окружения WebReportLifeTimeInterval, в которой указать значение в секундах. Настройка переменной окружения WebReportLifeTimeInterval выполняется путем редактирования файла docker-compose.yaml. Пример:

WebReportLifeTimeInterval: "600"

Доустановка ExeReport к существующей инсталляции ExeMES для ОС семейства Linux

Доступно начиная с версии ExeReport 2.1

Если вам необходимо установить ExeReport на хост, где уже установлен ExeMES необходимо выполнить следующие действия:

  1. Распакуйте инсталляционный пакет ExeReport на хост, где уже запущен ExeMES;
  2. Скопируйте из распакованного инсталляционного пакета каталог /data/exereport в каталог /data/ с конфигурационными файлами ExeMES

    По умолчанию ExeMES устанавливается в каталог root/dev/

  3. Проверьте, что используемый в ExeMES сертификат crt содержит имя report.[домен]

    По умолчанию сертификаты ExeMES расположены в каталоге root/dev/crt/

    При необходимости сгенерируйте новые сертификаты с указанием имен для ExeReport.
  1. Зайдите в существующий экземпляр keycloak под УЗ администратора. В меню слева выберите реалм exemes и перейдите в пункт меню Clients:
  2. В основной части экрана нажмите кнопку «Import client»:
  3. Ниже в центральной части экрана нажмите «Browse...»:
  4.  Выберите файл из распакованного инсталляционного пакета \upd\exereport_client.json, содержащий настройки для клиента ExeReport и нажмите кнопку Save:
  5. При успешном импорте настроек появится соответствующее сообщение:

    При возникновении ошибок в процессе импорта обратитесь в техническую поддержку

  6. В меню слева перейдите в пункт меню Clients, выберите в списке клиент exereport:
  7. Перейдите на вкладку Settings и укажите следующие значения в соответствии с вашей конфигурацией:
    Root URL = https://report.[домен].local:9200/
    Home URL = https://report.[домен].local:9200/
    Valid redirect URIs = https://report.[домен].local:9200/*
    Valid post logout redirect URIs = https://report.[домен].local:9200/*

    При использовании демонстрационного домена и сертификатов mycompany.local, которые входят в инсталляционный пакет ExeReport, пункты 7 и 8 можно пропустить

     

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

  1. В центральной части экрана перейдите на вкладку «Roles» и нажмите кнопку «Create role»:
  2. Создайте 2 роли со следующими параметрами:
    • Role name = MR, Description = Доступ к настройке отчетов.
    • Role name = VR, Description = Доступ к просмотру отчетов.
  3. Назначьте новые роли соответствующим группам пользователей, в зависимости от вашей конфигурации. Подробно об Управлении доступом к ExeReport.

Активируйте лицензию ExeReport на уже существующем сервере лицензирования ExeMES или установите сервер лицензирования и активируйте лицензию отдельно для ExeReport.

  1. Откройте консоль под УЗ администратора ОС на хосте с установленным ExeMES;
  2. Перейдите в папку с распакованным инсталляционным пакетом ExeReport;
  3. Выполните команду:
    docker load -i ./images/exereport[версия ExeReport].tar
  4. Перейдите в каталог с установленным экземпляром ExeMES;

    По умолчанию ExeMES устанавливается в каталог root/dev/

  5. Модифицируйте существующий файл docker-compose.yaml ExeMES: добавьте следующий код в файл docker-compose.yaml:
      exereport:
        container_name: exereport
        image: "git.exeplant.ru:5050/mes-develop/exereport:[версия ExeReport]"
        restart: always
        environment:
          ASPNETCORE_URLS: "https://+;http://+"
          ASPNETCORE_HTTPS_PORT: "9200"
          ASPNETCORE_Kestrel__Certificates__Default__Password: "[пароль сертификата pfx]"
          ASPNETCORE_Kestrel__Certificates__Default__Path: "/root/.aspnet/https/[имя сертификата ExeReport].pfx"
          TZ: "Europe/Moscow"
          DBConnection: "[строка подключения к экземпляру PG SQL, который используется ExeMES]"
          GCCSettings:BroadcastRemoteLicenses: "0"
          GCCSettings:UseRemoteHosts: "1"
          GCCSettings:Remotehosts: "[license_server_ip]"
          WebReportLifeTimeInterval: "60"
          MiddlewareApiRootUri: "https://[имя запущенного приложения ExeMES Server]:7142/api"
          
        volumes:
          - type: bind
            source: /root/dev/crt/[имя сертификата ExeReport].pfx
            target: /root/.aspnet/https/[имя сертификата ExeReport].pfx  
          - type: bind
            source: /root/dev/crt/[имя сертификата ExeReport].crt
            target: /etc/ssl/certs/[имя сертификата ExeReport].pem    
        ports:
          - "9200:443"
        extra_hosts:
          - "localhost report.[домен] middleware.[домен] keycloak.[домен]:[host_ip]"

    Следующие параметры можно сконфигурировать по аналогии с имеющейся конфигурацией в файле docker-compose.yaml:

    • строка подключения к экземпляру PG SQL, который используется ExeMES;
    • имя запущенного приложение ExeMES Server;
    • имя сертификата pfx (если используются существующий сертификат ExeMES);
    • пароль сертификата pfx (если используются существующий сертификат ExeMES);
    • license_server_ip (если используется существующий сервер лицензирования);
    • host_ip;
    • домен.
  6. Откройте консоль и перейдите в папку с отредактированным файлом docker-compose.yaml;
  7. Выполните команду:
    docker compose up -d

Проверка работоспособности ExeReport после установки

Для проверки работоспособности необходимо перейти в браузере по адресу "https://report.[домен]:9200/", авторизоваться под учетной записью пользователя с правами администратора, который был создан при установке и убедиться, что стартовая страница ExeReport отображается корректно.

Если вы хотите отказаться от использования портов в адресах приложений, то необходимо использовать прокси-сервер, например Nginx

В настройках контейнеров ExeReport по умолчанию указана синхронизация времени контейнера с временем хоста, на котором он запущен. Рекомендуется синхронизировать локальное время хостов, на которых запускаются контейнеры ExeReport с корпоративным ntp сервером.

  • No labels