Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Отображение дочерних элементов
alltrue
depth2

7.1.1 Назначение и состав решения

...

WEB Orchestrator – компонент платформы ROBIN, служба диспетчеризации и администрирования запуска роботов. Позволяет запускать роботов по расписанию/событию и отслеживать статусы исполнения задач, просматривать логи и ошибки.

...

  1. Разграничение прав доступа: управление правами доступа к приложениям, схемам роботов, готовым роботам и др.
  2. Хранение роботов и действий: централизованное хранение схем роботов, готовых роботов и пакетов действий
  3. Версионирование роботов: Хранение множеств версий одних и тех же сценариев или готовых роботов в удаленном хранилище
  4. Контроль рабочих мест: сбор и отображение оперативной информации о состоянии удаленных рабочих мест
  5. Удаленный запуск роботов: запуск готовых роботов на удаленных рабочих местах
  6. Поддержание RDP- соединения с нужными учетными записями для выполнения UI роботов
  7. Сбор данных о роботах: отслеживание, какие роботы, где и кем запущены в данный момент, каково их текущее состояние
  8. Работа с очередью ресурсов: создание своих очередей ресурсов и использование их в работе роботов

Состав решения:

Web-версия платформы Robin состоит из различных модулей, которые доступны из одного общего интерфейса. Одним из модулей является модуль "Оркестратор".

"Оркестратор" - это один из модулей, входящих в состав платформы ROBIN и предназначенный для запуска и контроля исполнения программных роботов, созданных с помощью ROBIN Studio. Модуль доступен только пользователям с ролью "Администратор оркестратора".

В таблице представлены основные компоненты, входящие в состав Оркестратора, и за что каждый из компонентов отвечает.

...

Компонент*

...

Наименование сервиса*

...

Keycloack

...

Приложение для реализации единой точки аутентификации и авторизации

...

Rabbit

...

Брокер сообщений на основе стандарта AMQP

...

WildFly

...

Сервер приложений

...

Nginx

...

Сервер ВЕБ интерфейса

...

Elastic

...

Компонент хранения логов

...

Kibana

...

Компонент отчетов по логам

...

Logstash

...

Компонент сбора логов

...

PostgreSQL

...

Сервер СУБД PostgreSQL

...

Nexus

...

Менеджер репозиториев хранения пакетов

...

Rdp

...

Менеджер удаленного рабочего стола Microsoft RDP

...

HAProxy

...

Балансировщик Нагрузки

7.1.2 Архитектура

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

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

7.1.2.1 Типовой вариант

...

7.1.3 Требования к аппаратному и программному обеспечению

...

7.1.3.1 На одном сервере

7.1.3.2 Типовой вариант

...

Характеристика

 

...

Минимальные требования

 

...

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
(Для корректной работы интеграции с корпоративным AD, сервер каталога должен быть развернут на Windows Server 2008 и выше)

...

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 и выше

7.1.4 Установка решения

...

  1. Установка решения при помощи образа виртуальной машины. Данный метод установки предполагает наличие только Debian 10 в качестве операционной системы виртуальной машины.
  2. Установка решения при помощи Ansible скриптов

Инструкции для обоих вариантов установки поставляются вместе с пакетом установки.

7.1.4.1 Установка при помощи образа виртуальной машины

7.1.4.2 Установка при помощи Ansible скриптов

...

  1. Дистрибутив представляет собой ZIP архив, (ROBIN_orchestrator.zip) содержащий в себе скрипты, конфигурационные файлы и все необходимые дистрибутивы компонентов для установки.
  2. Установка производится с применением ansible скриптов включенных в дистрибутив.
  3. Необходимо подготовить и включить сервера либо виртуальные сервера на которые будет производиться установка
  4. Открыть на межсетевых эранах / фаерволах сетевые порты согласно требований.
  5. Распаковать дистрибутив автоматической установки в отдельный каталог (обычно, но не обязательно, это /opt) на сервер, с которого будет производится установка.
  6. Сгенерировать ключ шифрования для SSH. Для этого потребуется открыть терминал на сервере куда был распакован дистрибутив, и выполнить команду: ssh-keygen -t ed25519 где ed25519 это алгоритм генерации ключа, возможные варианты, применяются в зависимости от требований служб безопасности либо информационной безопасности, либо иных нормативных требований на стороне клиента: - rsa - dsa - ecdsa - ed25519
  7. Скопировать публичную часть сгенерированного ключа шифрования SSH на все ноды (компьютеры/сервера/виртуалки), на которые будет производится установка компонентов WEB-оркестратора в терминале одним из следующих способов: ● Командой из состава OpenSSH: ssh-copy-id -i ~/.ssh/id_.pub root@host ● Скриптом из дистрибутива: copy_ssh_id.sh host ● Вручную: скопировав содержимое файла ~/.ssh/id_.pub в файл на ноде /root/.ssh/authorized_keys Пример содержимого файла публичной части ключа id_ed25519.pub: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDFJ6fRg28O5nVA+WbWYaK3Gc9LVc80hd4moBTQdJGdJ root@keycloak

...

В файле hosts.ini из каталога установщика указать IP адреса и имена нод компонентов установки. В случае если нод в группе несколько, например если для группы App – сервера приложений будет использоваться 3 отдельные виртуальные машины, указать необходимо все. Перечень всех групп нод:

...

Группа

...

Описание

...

Ldap

...

Ldap Сервер управления идентификацией и доступом Keycloak

...

Rabbit

...

Брокер сообщений на основе стандарта AMQP

...

App

...

Сервер приложений

...

Front

...

Сервер ВЕБ интерфейса

...

Elastic

...

Компонент хранения логов

...

Kibana

...

Компонент отчетов по логам

...

Logstash

...

Компонент сбора логов

...

Db

...

Сервер СУБД Postgres

...

Pkg

...

Менеджер репозиториев хранения пакетов

...

Rdp

...

Менеджер удаленного рабочего стола Microsoft RDP

...

Lb

...

Балансировщик Нагрузки

Wiki разметка
\\
+Пример файла *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
\\
Wiki разметка
В файле 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 \}\}"   #####################################################################################

...

  1. Открыть терминал на сервер, с которого будет производится установка и куда был распакован дистрибутив.
  2. Перейти в каталог установщика (каталог, в который был распакован дистрибутив).
  3. Запустить установку командой: ansible-playbook ./start.yml

Пример хода выполнения:
Image Removed

  1. Результатом выполнения скриптов установки будет отчет о ходе установки. В котором указывается перечень серверов (блок PLAY RECAP), на которые была произведена установка и затраченное время на выполнение шагов установки. При этом Перечень серверов имеет цветовые градации: - зеленый или желтый – на сервер успешно были установлены все назначенные компоненты. - красный – в процессе установки были ошибки.

Пример успешного выполнения установки:
Image Removed

  1. В случае, если в процессе установки были какие-либо ошибки и процесс установке прервался, то в отчете будет красным цветом выделена ошибка. Необходимо устранить причину ошибки самостоятельно, либо обратившись в техподдержку и повторно запустить установку, либо отдельного компонента дистрибутива, либо всю установку целиком. Пример ошибки в процессе установки:

Image Removed Запуск (повторный запуск) отдельных этапов установки.
В случае необходимости запуска (повторного запуска) отдельных этапов, на пример в случае сбоя необходимо:

  1. Открыть терминал на сервер, с которого будет производится установка и куда был распакован дистрибутив
  2. Перейти в каталог установщика. (каталог, в который был распакован дистрибутив)
  3. Запустить установку командой: ansible-playbook ./start.yml -t этап_установки

Перечень этапов установки (данные этапы включены в дистрибутив поставки и отдельно что-либо скачивать не нужно)

...

Этап

...

Описание

...

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

...