Установка Агента Оркестратора
Установка PowerShell Core
Производится в соответствии с инструкцией Установка PowerShell-7.1.3 под Windows.
Установка Агента Оркестратора
Создаем переменную окружения из PowerShell:
[System.Environment]::SetEnvironmentVariable('ASPNETCORE_ENVIRONMENT', 'ProdWin', [System.EnvironmentVariableTarget]::Machine)
Проверить настройку переменных можно через System Properties ➝ Advanced по кнопке Environment Variables:
Копируем файлы из дистрибутива Агента через PowerShell:
$InstallPath = "C:\Install"
Expand-Archive -LiteralPath "$InstallPath\Agent.zip" -DestinationPath 'C:\Primo\Agent'
Проверяем, что файлы скопировались в папку C:\Primo\Agent
:
Создаем службу из PowerShell:
New-Service -Name "Primo.Orchestrator.Agent" -BinaryPathName "C:\Primo\Agent\Primo.Orchestrator.Agent.exe" -Description "Primo.Orchestrator.Agent" -DisplayName "Primo.Orchestrator.Agent" -StartupType Automatic
Отображение службы Primo.Orchestrator.Agent среди всех служб:
Редактируем конфигурационный файл C:\Primo\Agent\appsettings.ProdWin.json
, если требуется поменять TenantId.
TenantId – тенант Агента (для дефолтного тенанта null).
С версии 24.8 в Агенте Оркестратора появился новый параметр в конфигурационном файле:
"Agent": {
...
"RemoveInactiveTsPortsPeriodSec": 60 // 0 - to disable
...
}
Этот параметр отвечает за настройку периодичности очистки неактивных TS портов, что помогает предотвращать пропуски запусков роботов и улучшает стабильность работы проекта. Значение параметра указывается в секундах, и его можно отключить, установив значение 0
.
Запускаем службу через оснастку Services или через командную строку:
Служба должна работать под Local System account:
Настройка брандмауэра Windows
Открываем порт для HTTP-сервера Агента (5002) - по нему к машине робота обращается сервер Оркестратора.
В PowerShell выполняем команду:
New-NetFirewallRule -Name "Primo Agent (5002)" -DisplayName "Primo Agent (5002)" -Profile "Private, Domain, Public" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 5002
Проверка настройки машины робота
Проверяем, что сервис Агента (Primo.Agent) запущен - для этого просматриваем статус службы в Services.
Проверяем доступность машины Оркестратора с машины робота. В браузере на машине робота вводим адрес:
https://<IP-адрес-машины-Оркестратора>:44392/login
и убеждаемся, что открывается страница авторизации:
Проверяем, что работают (если не выключены в конфигурационном файле, секция Performance, параметр Enabled) метрики производительности на главной странице:
и в логе нет связанных с ними ошибок. Если в логе есть ошибка счетчиков производительности Windows, сходная с представленной ниже:
нужно настроить работу счетчиков средствами ОС:
Удержание RDP-сессий
Возможно настроить машину робота для 2-х альтернативных способов удержания RDP-сессий (требуется для работы робота с рабочим столом).
Два варианта работы по удержанию RDP-сессии отображены на схеме:
Удержание многих RDP-сессий за счет внешних RDP-подключений
Для этого используется сервис RDP2.
Сначала заводятся пользователи для RDP-сессий, например, user1 и user2:
Пользователи желательно должны входить в группу Administrators:
Если пользователи не входят в группу Administrators, то обязательно (!) должны входить в группы Users и Remote Desktop Users.
Добавленные пользователи должны быть зарегистрированы для машины робота (имя пользователя/пароль, и т.д.) в Оркестраторе:
В Оркестраторе для RDP-пользователя должны быть настроены параметры безопасности подключения:
Параметры RDP-подключения:
- AuthenticationLevel – 1
- NegotiateSecurityLayer – true
- EnableCredSspSupport – true
- DesktopWidth – Разрешение экрана по ширине (1920).
- DesktopHeight – Разрешение экрана по высоте (880).
- ColorDepth – Цветопередача (32).
К машине робота должны быть разрешены RDP-подключения:
Также должны быть настроены параметры подключения, открыт порт для RDP (порт должен быть открыт и в случае единственного пользователя):
Если используется сервер удаленных рабочих столов, то необходимо его настроить. Запустить оснастку gpedit.msc (Win+R) :
На вкладке Security:
На вкладке Connections:
Блокировка экрана пользователя должна быть отключена. Локально или через групповые политики AD:
Сервис RDP-подключений запускается на внешней машине, например, на машине с WebApi. На одну сессию сервис расходует порядка 400 Мб памяти.
RDP-сессии запускаются автоматически при старте роботов. Этот процесс требует некоторого времени, в течение которого робот должен подождать открытия. Эти параметры задаются в конфигурационном файле WebApi, в секции RobotStart:AttemptsKeepRDPSessionLevels:
Если в RPA-проекте (zip-архив) присутствуют файлы с кириллицей в наименовании, то для корректной распаковки архива перед запуском робота необходимо чтобы в конфигурационном файле службы Агента был настроен параметр ProjectZipEncoding. Наиболее востребованные значения: utf-8 (для Windows), cp866 (для Linux) и null (кодировка по умолчанию в ОС).