Назначение:
WEB Orchestrator – компонент платформы ROBIN, служба диспетчеризации и администрирования запуска роботов. Позволяет запускать роботов по расписанию/событию и отслеживать статусы исполнения задач, просматривать логи и ошибки.
Рассмотрим основные функциональные возможности Web Orchestrator:1) Разграничение прав доступа: управление правами доступа к приложениям, схемам роботов, готовым роботам и др.
2) Хранение роботов и действий: централизованное хранение схем роботов, готовых роботов и пакетов действий
3) Версионирование роботов: Хранение множеств версий одних и тех же сценариев или готовых роботов в удаленном хранилище
4) Контроль рабочих мест: сбор и отображение оперативной информации о состоянии удаленных рабочих мест
5) Удаленный запуск роботов: запуск готовых роботов на удаленных рабочих местах
6) Поддержание RDP- соединения с нужными учетными записями для выполнения UI роботов
7) Сбор данных о роботах: отслеживание, какие роботы, где и кем запущены в данный момент, каково их текущее состояние
8) Работа с очередью ресурсов: создание своих очередей ресурсов и использование их в работе роботов
Состав решения:
Web-версия платформы Robin состоит из различных модулей, которые доступны из одного общего интерфейса. Одним из модулей является модуль "Оркестратор".
"Оркестратор" - это один из модулей, входящих в состав платформы ROBIN и предназначенный для запуска и контроля исполнения программных роботов, созданных с помощью ROBIN Studio. Модуль доступен только пользователям с ролью "Администратор оркестратора".
В разделе представлены основные компоненты решения, используемые архитектурные шаблоны и принципы, технологический стек, а также важные интеграционные аспекты.
В таблице представлены основные компоненты архитектуры и за что каждый из компонентов отвечает.
Keycloack??
Группа | Описание |
Ldap | Ldap Сервер управления идентификацией и доступом Keycloak |
Rabbit | Брокер сообщений на основе стандарта AMQP |
App | Сервер приложений |
Front | Сервер ВЕБ интерфейса |
Elastic | Компонент хранения логов |
Kibana | Компонент отчетов по логам |
Logstash | Компонент сбора логов |
Db | Сервер СУБД Postgres |
Pkg | Менеджер репозиториев хранения пакетов |
Rdp | Менеджер удаленного рабочего стола Microsoft RDP |
Lb | Балансировщик Нагрузки |
На рисунке изображен вариант архитектуры «на одном сервере».
На рисунке изображен «типовой вариант» архитектуры.
Этот раздел определяет минимальные характеристики аппаратного и программного обеспечения, необходимые для обеспечения стабильной и оптимальной работы продукта.
Минимальные аппаратные требования:
Характеристика
| Минимальные требования
| |
Server 1 | Server 2 | |
Количество потоков процессора (vCPU – поток ядра) | 4 vCPU | 4 vCPU |
Количество оперативной памяти (RAM) | 20 Gb | 8 Gb |
Емкость дисковой подсистемы (HDD) | 200 Gb | 20 Gb |
Минимальные программные требования:
Сервер | Ресурс |
Server 1
| Debian 10, Astra Linux SE 1.7 и другие по согласованию сторон |
Nginx 11 и выше | |
Nexus 3.32.0 и выше | |
PostgreSQL 10 x86_64 и выше | |
WildFly 26.1.3 final и выше | |
Java bellsoft-jdk17.0.7 | |
KeyCloack 21.1.1 | |
RabbitMQ ver. 3.8.2 | |
Logstash ver. 7.15 | |
Kibana ver. 7.15 | |
Elasticsearch ver. 7.15 | |
Server 2
| Debian 10, Astra Linux SE 1.7 и другие по согласованию сторон |
Haproxy 2.1.3 и выше |
Этот раздел предназначен для обеспечения пользователей и администраторов всей необходимой информацией, чтобы установить и настроить продукт с минимальным количеством проблем.
Установка решения доступна 2 вариантами:
Инструкции для обоих вариантов установки поставляются вместе с пакетом установки.
Предварительная подготовка к установке.
Предварительная настройка установки.
В файле hosts.ini из каталога установщика указать IP адреса и имена нод компонентов установки. В случае если нод в группе несколько, например если для группы App – сервера приложений будет использоваться 3 отдельные виртуальные машины, указать необходимо все. Перечень всех групп нод:
Группа | Описание |
Ldap | Ldap Сервер управления идентификацией и доступом Keycloak |
Rabbit | Брокер сообщений на основе стандарта AMQP |
App | Сервер приложений |
Front | Сервер ВЕБ интерфейса |
Elastic | Компонент хранения логов |
Kibana | Компонент отчетов по логам |
Logstash | Компонент сбора логов |
Db | Сервер СУБД Postgres |
Pkg | Менеджер репозиториев хранения пакетов |
Rdp | Менеджер удаленного рабочего стола Microsoft RDP |
Lb | Балансировщик Нагрузки |
\\ +Пример файла *HOSTS.INI{*}:+ \[ldap\] weborctest2 ansible_host=10.68.4.21 \[rabbit\] weborctest2 ansible_host=10.68.4.21 \[app\] weborctest1 ansible_host=10.68.4.20 weborctest2 ansible_host=10.68.4.21 weborctest3 ansible_host=10.68.4.22 \[front\] weborctest2 ansible_host=10.68.4.21 \[elastic\] weborctest2 ansible_host=10.68.4.21 \[kibana\] weborctest2 ansible_host=10.68.4.21 \[logstash\] weborctest2 ansible_host=10.68.4.21 \[db\] weborctest2 ansible_host=10.68.4.21 \[pkg\] weborctest2 ansible_host=10.68.4.21 \[rdp\] weborctest2 ansible_host=10.68.4.21 \[lb\] weborctest2 ansible_host=10.68.4.21 \\ |
В файле group_vars/all.yaml, из каталога установки (каталог в который был распакован дистрибутив, обычно это /opt), указать необходимые параметры устанавливаемых компонентов (в основном это пароли пользователей). +Пример файла *group_vars/all.yaml{*}:+ --- ##################################################################################### ### Общие параметры #Версия продукта cloud,enterprise, rcloud mode: enterprise # Путь к директории установки install_path: "/opt" # Создать самоподписанный SSL сертификат для защищенного подключения сервисов # В случае, если не использовать механизм генерации самоподписанного сертификата # (create_selfsigned_cert: false) # то перед запуском скриптов установки на все сервера (ноды) нужно в папку /opt # положить заранее сгенерированные файл сертификата /opt/cert.cer # файл закрытого ключа /opt/cert.key и файл со всей цепочкой сертификации /opt/fullchain.cer create_selfsigned_cert: true ##################################################################################### ### Секция Keycloak # Домен domain: "demo.robin" # Пароль для хранилища сертификатов Keycloak ldap_https_key_store_pass: "someSecret2023" # Пароль пользователя admin, задаваемый при автоинициализации ldap_admin_pass: "Qwerty123" # Пароль пользователей processes_activity, processes_admin, # processes_designer,processes_owner, задаваемый при автоинициализации ldap_user_pass: "Qwerty123" ##################################################################################### ### Секция DB # Пароль пользователя postgres db_postgres_pass: "Qwerty123" # Пароль пользователя robin внутри базы данных db_robin_pass: "Qwerty123" # Пароль пользователей user_orch, user_quartz, user_rpm, # keycloak, user_storage_provider внутри базы данных db_users_pass: "Qwerty123" ##################################################################################### ### Секция RabbitMQ # Пароль пользователя admin внутри брокера rabbit_admin_pass: "Qwerty123" # Пароль пользователя agent внутри брокера rabbit_agent_pass: "Qwerty123" # Пароль пользователя rmc внутри брокера rabbit_rmc_pass: "Qwerty123" # Пароль пользователя rms внутри брокера rabbit_rms_pass: "Qwerty123" # Пароль пользователя rdp внутри брокера rabbit_rdp_pass: "Qwerty123" ##################################################################################### ### Секция Nexus # Порт для доступа к нексусу. По умолчанию 8081, изменять только в случае ошибок. nexus_port: "8081" # Устанавливаемый пароль пользователя admin nexus_admin_pass: "Qwerty123" # Использовать SSL для подключения nexus_use_ssl: true # Порт SSL для доступа к нексусу. По умолчанию 8441, изменять только в случае ошибок. nexus_https_port: "8441" # Пароль для хранилища сертификатов Nexus nexus_https_key_store_pass: "someSecret2023" ##################################################################################### ### Секция Elasticsearch # Срок хранения логов в elasticsearch (пусто для отключени срока хранения) elastic_index_lifecycle: 60d # Использовать SSL сертификат для подключения elastic_use_ssl: false ##################################################################################### ### Секция Wildfly # Пароль пользователя admin для доступа к Wildfly. # Меняется в случае ручного изменения через скрипт add-user.sh. wf_admin_pass: "Qwerty123" # Пароль для хранилища сертификатов WildFly wf_https_key_store_pass: "someSecret2023" ##################################################################################### ### Секция Haproxy # Адрес балансировщика для доступа к сервисам lb_address: "\{\{ groups\['lb'\]\[0\] \}\}.\{\{ domain \}\}" ##################################################################################### |
Запустить установку.
Пример хода выполнения:
Пример успешного выполнения установки:
Запуск (повторный запуск) отдельных этапов установки.
В случае необходимости запуска (повторного запуска) отдельных этапов, на пример в случае сбоя необходимо:
Перечень этапов установки (данные этапы включены в дистрибутив поставки и отдельно что-либо скачивать не нужно)
Этап | Описание |
prepos | Предварительная установка общесистемных компонентов |
java | Установка Java JDK |
db | Установка СУБД Postgres |
flyway | Миграция данных БД посредством FlyWay |
ldap | Установка Keycloak |
nginx | Установка WEB-сервера Nginx |
front | Установка фронтэнд приложения |
pkg | Установка Nexus репозиториев |
rabbit | Установка менеджера очереди сообщений RabbitMQ |
elastic | Установка ElasticSearch |
logstash | Установка Logstash |
kibana | Установка Kibana |
Install_app | Установка сервера приложений WildFly |
app | Настройка сервера приложений WildFly |
lb | Установка балансировщика HAPROXY |