Развертывание платформы под управлением Оркестратора#
Диаграмма развертывания платформы Sherpa RPA под управлением Оркестратора показывает варианты взаимодействия Оркестратора с другими компонентами платформы Sherpa RPA:
- RDP-сервер с учетными записями Unattended-пользователей — Sherpa Coordinator Service + Sherpa Unattended Robot
- Рабочее место разработчика (Windows) — Sherpa Designer + Sherpa Robot
- Клиентское рабочее место (Windows) — Attended Robot
- Рабочее место с браузером.
Последовательность процесса#
Ниже описано, как сценарий проходит от разработки до запуска Attended- или Unattended-Роботом.
Разработчик создает сценарий в Sherpa Designer и отлаживает его с помощью локального Sherpa Robot. Готовый сценарий передается на рабочее место Пользователя или Робота копированием конфигурационного файла либо публикуется из Sherpa Designer в Sherpa Orchestrator.
Серверный компонент Sherpa Orchestrator поддерживает связь с Роботами, запущенными на клиентских машинах, хранит конфигурации Роботов и версии сценариев, общие переменные и учетные данные, логи и скриншоты работы Роботов, журналы аудита оркестратора, Пользователей, Роли и Аккаунты самого Оркестратора, лицензии всех компонентов платформы и статистику исполнения сценариев.
Пользователи и администраторы открывают веб-интерфейс Sherpa Orchestrator в браузере для управления ресурсами, настройки системы и просмотра статистики. В состав серверной установки входят веб-сервер Nginx, интерпретатор PHP и реляционная БД: MariaDB по умолчанию или PostgreSQL.
Локальные пользователи по необходимости запускают Sherpa Attended Robot на исполнение хранящихся локально сценариев. В процессе исполнения сценария Sherpa Attended Robot может передавать Оркестратору текущий статус, задачи, логи, значения глобальных переменных и учетных данных или получать от него задачи, значения глобальных переменных и учетных данных.
При запуске по расписанию, вызову API, команде Робота или другому поддерживаемому условию Sherpa Orchestrator передает задание Sherpa Coordinator Service на терминальном сервере. Сервис создает RDP-подключение к локальной или удаленной учетной записи Unattended-Робота. На одном терминальном сервере одновременно могут работать несколько таких учетных записей.
Вход в учетную запись Unattended-Робота производится с предоставленными Оркестратором логином и паролем.
После входа в учетную запись запускается соответствующий экземпляр Sherpa Unattended Robot, подключается к Оркестратору, получает задание на выполнение сценария и сам сценарий, хранящийся в оркестраторе.
В процессе исполнения сценария Sherpa Unattended Robot может передавать оркестратору текущий статус, задачи, логи, значения глобальных переменных и учетных данных или получать от него задачи, значения глобальных переменных и учетных данных, команды для «мягкого» или «жесткого» завершения сценария.
После завершения исполнения сценария Sherpa Unattended Robot выполняет logoff из своей учетной записи.
Attended-Роботы выполняют локальные сценарии автономно. Sherpa Orchestrator обеспечивает централизованное управление несколькими Роботами и их взаимодействием.
Подключение к внешней БД#
Этот раздел описывает подключение приложения к БД, подготовленной администратором. Для отказоустойчивой БД администратор определяет топологию, репликацию, балансировку и порядок переключения между серверами. Количество виртуальных машин и IP-адресов зависит от выбранного решения и согласовывается при проектировании установки.
В Docker-поставке Sherpa Orchestrator 5.9.4 параметры подключения задаются в файле /opt/SherpaOrchestrator/.env. Администратор БД должен заранее подготовить доступный адрес подключения, базу данных и учетные данные. При изменении адреса существующей установки целевая БД должна содержать ее данные.
Для подключения необходимо выполнить следующие действия:
В файле
.envуказать параметры выбранной СУБД:СУБД Выбор СУБД Адрес подключения Параметры подключения MariaDB DB_ENGINE=mysqlMYSQL_HOST— адрес сервера или балансировки БДMYSQL_PORT,MYSQL_USER,MYSQL_PASSWORD,MYSQL_DBPostgreSQL DB_ENGINE=pgsqlPOSTGRES_HOST— адрес сервера или кластера БДPOSTGRES_PORT,POSTGRES_USER,POSTGRES_PASSWORD,POSTGRES_DBNAME,POSTGRES_SCHEMA_NAMEАдрес должен быть доступен из контейнера
orchestrator. Параметры архивной БД необходимо сохранить без изменений при настройке подключения к основной БД.Из каталога
/opt/SherpaOrchestratorпересоздать контейнер приложения для применения переменных окружения. На время пересоздания приложение будет недоступно:docker compose up -d --no-deps --force-recreate orchestratorПроверить запуск приложения и отсутствие ошибок подключения к БД:
docker compose logs --tail=100 orchestratorПосле запуска должен открываться веб-интерфейс Оркестратора. При ошибке подключения необходимо проверить адрес, порт, доступность БД из контейнера и права учетной записи.
Контейнер orchestrator получает параметры через env_file: .env. В штатном docker-compose.client.yml у него нет зависимости depends_on от БД. Для настройки адреса БД не требуется добавлять DB_HOST, комментировать такую зависимость или вручную изменять backend/config/config.ini и backend/config/phinx.php.