Skip to Content

Внешняя поддержка RDP-сессии

Начиная с версии Оркестратора 1.24.6, в службу RDP2 добавлена возможность использования внешнего RDP-клиента (RdpClientExternal). При использовании внешнего клиента каждая RDP-сессия запускается в отдельном процессе, что повышает устойчивость службы к сбоям отдельных сессий.

Важно: приведённые ниже настройки внешнего RDP-клиента предназначены для предыдущих версий Оркестратора. В Primo RPA Orchestrator 1.26.7 LTS параметры UseExternalClient и файл rdpclientexternalsettings.json больше не используются. При обновлении до этой версии их необходимо удалить из конфигурации. Не добавляйте эти настройки при установке 1.26.7 LTS.

Включение внешнего RDP-клиента в предыдущих версиях

Для включения внешнего RDP-клиента добавьте параметр UseExternalClient в конфигурационный файл службы RDP2:

  • Linux — appsettings.ProdLinux.json;
  • Windows — appsettings.ProdWin.json.

Значения параметра:

  • true — включить использование внешнего клиента RdpClientExternal.
  • false — отключить использование внешнего клиента (значение по умолчанию).

Пример настройки:

{ "UseExternalClient": true, }

Примечание: параметр UseExternalClient определяет способ запуска RDP-клиента. Он не управляет количеством попыток открытия сессии и задержками между ними. Эти параметры описаны ниже, в пункте «Настройка параметров подключения RDP-сессий на агентах».

Настройка журнала внешнего RDP-клиента

В предыдущих версиях Оркестратора на Windows при использовании "UseExternalClient": true служба RDP2 обращается к файлу rdpclientexternalsettings.json. В этом файле можно задать путь к журналу внешнего клиента для диагностики ошибок подключения.

**Пример настройки пути к журналу:**файле можно задать путь к журналу внешнего клиента, например для диагностики ошибок подключения.

{ "Logging": { "FileLogPath": "C:\\Logs\\RDP2\\ExternalClient.log", }, }

Если путь не указан, лог по умолчанию создается в директории запуска службы RDP2 (или %TEMP% для интерактивных сессий).

Рекомендации: Убедитесь, что у службы RDP2 есть права на запись в указанный каталог.

Настройка параметров подключения RDP-сессий на агентах

Если для работы робота требуется поддержание RDP-сессии, перед запуском робота Оркестратор запрашивает открытие сессии через службу RDP. Этот процесс может занимать некоторое время.

Количество попыток открытия RDP-сессии и задержки между ними настраиваются в конфигурационном файле WebApi, в секции RobotStart, с помощью массива AttemptsKeepRDPSessionLevels.

Пример конфигурации:

"RobotStart": { "TimeOutInMinutesForUnlock": 3, "IntervalForReleaseInSeconds": 180, "AttemptsKeepRDPSessionLevels": [ { "AttempCount": 3, "AttempExpirationInSeconds": 5 }, { "AttempCount": 2, "AttempExpirationInSeconds": 15 }, { "AttempCount": 1, "AttempExpirationInSeconds": 120 } ], "WaitUserProfileLoaded": true, "ReEnqueueNoRdpOrProfile": true }

Параметры подключения RDP-сессий:

ПараметрНазначениеПримечание
AttemptsKeepRDPSessionLevelsМассив пар параметров AttempCount и AttempExpirationInSeconds – уровней стратегии открытия RDP-сессии. Каждый последующий уровень должен иметь большее значение AttempExpirationInSeconds, чем предыдущийПопытки открыть начинаются с уровня 0 (первый элемент массива). При исчерпании количества попыток происходит переход на следующий уровень, пока уровни не закончатся. Не рекомендуется использовать больше 3-х уровней
AttempCountКоличество попыток открытия RDP-сессии в рамках уровня
AttempExpirationInSecondsВремя задержки (сек) между попыткамиНе гарантировано - при наличии многих RDP-пользователей время задержки может отличаться от указанного в настройке
WaitUserProfileLoadedОжидать загрузки профиля пользователяКогда RDP-сессия открывается Оркестратором: пока не закончатся попытки AttempCount или пока не загрузится профиль RDP-пользователя. Загрузился ли профиль, проверяется путем опроса машины робота
ReEnqueueNoRdpOrProfileПеренаправлять проект в очередь при недоступности RDP-сессии или профиляПозволяет избежать ошибок запуска при временных проблемах с сессией

Рекомендация: размещайте службу RDP2 на отдельной машине. Развёртывание на машине робота допустимо, если служба обслуживает только пользовательские RDP-сессии этой машины (автосессии).

Обработка некорректных учётных данных RDP-пользователя

Начиная с версии Оркестратора 1.26.6, при ошибке RDP-аутентификации из-за неверных учётных данных, истёкшего пароля или отключённой учётной записи служба RDP2 передаёт информацию об ошибке в WebApi. Для соответствующей учётной записи в таблице Agents устанавливается признак InvalidCredentials.

После установки признака:

  • прекращаются дальнейшие попытки открытия RDP-сессии с этой учётной записью;
  • связанный с учётной записью робот исключается из обработки очереди проектов;
  • запуск проектов на этом роботе становится недоступен;
  • соответствующие записи в интерфейсе Оркестратора выделяются, указывая на проблему с учётными данными.

Если для выполнения проекта нет других доступных роботов, проект возвращается в очередь, а в журнале Оркестратора появляется запись об отсутствии свободных роботов.

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

Просмотр и ручной сброс признака InvalidCredentials в UI4

Для просмотра и ручного сброса признака InvalidCredentials в интерфейсе UI4:

  1. Перейдите в раздел Система → Машины роботов.
  2. Откройте список Пользователи графического сеанса для нужной машины робота.

alt

  1. Выберите пользователя и откройте форму Редактировать пользователя графического сеанса.
  2. Найдите переключатель Неверные учетные данные.

alt

  1. После исправления учётных данных отключите переключатель и сохраните изменения.

После сброса признака InvalidCredentials робот снова может участвовать в выполнении заданий.

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

Примечание: инструкция приведена для интерфейса UI4. В UI2 расположение элементов может отличаться.

Рекомендации по ресурсному обеспечению службы RDP2

Служба RDP2 потребляет следующие ресурсы:

  • Оперативная память (RAM) — объём зависит от количества поддерживаемых RDP-сессий и разрешения виртуального экрана.
  • Процессор (CPU) — нагрузка зависит от разрешения и глубины цвета виртуального экрана, а также графической активности робота.
  • Сетевой трафик — объём зависит от количества сессий, разрешения и глубины цвета виртуального экрана, а также активности робота.

При увеличении количества RDP-сессий или активности роботов потребление ресурсов возрастает.

Рекомендация: используйте не более 20 RDP-сессий на один экземпляр службы RDP2.

Пример потребления оперативной памяти

Ниже приведён пример работы службы RDP2 с 10 роботами. Значения получены для конкретного тестового сценария и могут отличаться в другом окружении.

УсловияПотребление RAM
Простой, поддержание RDP-сессий отключеноОколо 60 МБ
Поддержание 10 RDP-сессий включеноОколо 650 МБ
Выполнение простого проекта (калькулятор) на 10 роботахОколо 710 МБ
Открытие видео в Google Chrome на 10 роботахОколо 766 МБ

Дополнительные ресурсы потребляются при трансляции экрана робота и управлении им через трансляцию. Эта возможность появилась в Оркестраторе версии 1.25.1.

Last updated on