Развертывание платформы под управлением Оркестратора#

Диаграмма развертывания платформы Sherpa RPA под управлением Оркестратора показывает варианты взаимодействия Оркестратора с другими компонентами платформы Sherpa RPA:

  • RDP-сервер с учетными записями Unattended-пользователей — Sherpa Coordinator Service + Sherpa Unattended Robot
  • Рабочее место разработчика (Windows) — Sherpa Designer + Sherpa Robot
  • Клиентское рабочее место (Windows) — Attended Robot
  • Рабочее место с браузером.

Последовательность процесса#

Ниже описано, как сценарий проходит от разработки до запуска Attended- или Unattended-Роботом.

  1. Разработчик создает сценарий в Sherpa Designer и отлаживает его с помощью локального Sherpa Robot. Готовый сценарий передается на рабочее место Пользователя или Робота копированием конфигурационного файла либо публикуется из Sherpa Designer в Sherpa Orchestrator.

  2. Серверный компонент Sherpa Orchestrator поддерживает связь с Роботами, запущенными на клиентских машинах, хранит конфигурации Роботов и версии сценариев, общие переменные и учетные данные, логи и скриншоты работы Роботов, журналы аудита оркестратора, Пользователей, Роли и Аккаунты самого Оркестратора, лицензии всех компонентов платформы и статистику исполнения сценариев.

  3. Пользователи и администраторы открывают веб-интерфейс Sherpa Orchestrator в браузере для управления ресурсами, настройки системы и просмотра статистики. В состав серверной установки входят веб-сервер Nginx, интерпретатор PHP и реляционная БД: MariaDB по умолчанию или PostgreSQL.

  4. Локальные пользователи по необходимости запускают Sherpa Attended Robot на исполнение хранящихся локально сценариев. В процессе исполнения сценария Sherpa Attended Robot может передавать Оркестратору текущий статус, задачи, логи, значения глобальных переменных и учетных данных или получать от него задачи, значения глобальных переменных и учетных данных.

  5. При запуске по расписанию, вызову 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. Администратор БД должен заранее подготовить доступный адрес подключения, базу данных и учетные данные. При изменении адреса существующей установки целевая БД должна содержать ее данные.

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

  1. В файле .env указать параметры выбранной СУБД:

    СУБД Выбор СУБД Адрес подключения Параметры подключения
    MariaDB DB_ENGINE=mysql MYSQL_HOST — адрес сервера или балансировки БД MYSQL_PORT, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DB
    PostgreSQL DB_ENGINE=pgsql POSTGRES_HOST — адрес сервера или кластера БД POSTGRES_PORT, POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DBNAME, POSTGRES_SCHEMA_NAME

    Адрес должен быть доступен из контейнера orchestrator. Параметры архивной БД необходимо сохранить без изменений при настройке подключения к основной БД.

  2. Из каталога /opt/SherpaOrchestrator пересоздать контейнер приложения для применения переменных окружения. На время пересоздания приложение будет недоступно:

    docker compose up -d --no-deps --force-recreate orchestrator
    
  3. Проверить запуск приложения и отсутствие ошибок подключения к БД:

    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.