Skip to Content
Primo RPA Studio LinuxУстановка и обновлениеCentOSНастройка машины робота на CentOS

Настройка машины робота

Действия при установке CentOS 7

При установке машины робота под управлением CentOS 7 необходимо:

  • на экране ВЫБОР ПРОГРАММ отметить базовое окружение Рабочая станция;

ВЫБОР ПРОГРАММ

  • на экране СОЗДАНИЕ ПОЛЬЗОВАТЕЛЕЙ создать пользователя-администратора (далее - primo-admin).

СОЗДАНИЕ ПОЛЬЗОВАТЕЛЯ

Установка дополнительного ПО и создание дополнительных пользователей будет описана ниже.

Настройка дополнительного ПО

  1. Выполните подключение машины робота к репозиториям base, extra и updates. Настройка локальных зеркал этих репозиториев описана в Create Local Repos

!!ВАЖНО!! Локальные репозитории необходимо выгружать на машине, имеющей доступ в Интернет.

Рекомендуется выделить одну машину под управлением CentOS 7 для размещения на ней сервера репозиториев.

  1. Проверьте доступность репозиториев base, extra и updates, используя следующую команду:
[primo-admin@centos-robot ~]$ sudo yum repolist

Репозитории base, extra и updates должны присутствовать в выводе команды.

  1. Установите необходимое для работы робота ПО:
[primo-admin@centos-robot ~]$ sudo yum -y install at xorg-x11-server-Xvfb numpy opencv-python ImageMagick [primo-admin@centos-robot ~]$ sudo yum -y install epel-release [primo-admin@centos-robot ~]$ sudo yum -y install xdotool [primo-admin@centos-robot ~]$ sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm [primo-admin@centos-robot ~]$ sudo yum -y install dotnet-sdk-6.0

Для установки пакетов xdotool и dotnet-sdk-6.0 необходимо подключение к сети Internet.

Настройка учетной записи агента

Для работы агента оркестратора и роботов создайте общую группу:

[primo-admin@centos-robot ~]$ sudo groupadd primo-rpa

Для работы агента оркестратора создайте учётную запись:

[primo-admin@centos-robot ~]$ sudo useradd -g primo-rpa -m -s /bin/bash agent

Если требуется, задайте пароль учётной записи:

[primo-admin@centos-robot ~]$ sudo passwd agent Изменяется пароль пользователя agent. Новый пароль : *** Повторите ввод нового пароля : *** passwd: все данные аутентификации успешно обновлены.

Для запуска агентом оркестратора заданий роботов без прав пользователя root установите следующую настройку:

[primo-admin@centos-robot ~]$ sudo sh -c "echo 'agent ALL = (%primo-rpa) NOPASSWD: /usr/bin/at' > /etc/sudoers.d/primo-rpa-agent" [primo-admin@centos-robot ~]$ sudo sh -c "echo 'agent ALL = (ALL) NOPASSWD: /usr/sbin/reboot' >> /etc/sudoers.d/primo-rpa-agent"

Установка агента

Разворачивание файлов агента оркестратора на машине роботов (файл Agent-linux.zip должен находиться в каталоге /srv/samba/shared/install):

[primo-admin@centos-robot ~]$ sudo mkdir -p /opt/Primo/Agent /opt/Primo/AgentData /opt/LTools [primo-admin@centos-robot ~]$ sudo unzip /srv/samba/shared/install/Agent-linux.zip -d /opt/Primo/Agent [primo-admin@centos-robot ~]$ sudo chmod a+x /opt/Primo/Agent/Primo.Orchestrator.Agent [primo-admin@centos-robot ~]$ sudo chown -R agent.primo-rpa /opt/Primo/Agent /opt/Primo/AgentData /opt/LTools [primo-admin@centos-robot ~]$ sudo chmod -R g+w /opt/Primo/Agent /opt/Primo/AgentData /opt/LTools

Установите агент оркестратора как службу и настройте автозапуск:

[primo-admin@centos-robot ~]$ sudo cp /opt/Primo/Agent/Primo.Orchestrator.Agent.service /etc/systemd/system/ [primo-admin@centos-robot ~]$ sudo systemctl daemon-reload [primo-admin@centos-robot ~]$ sudo systemctl enable /etc/systemd/system/Primo.Orchestrator.Agent.service

В конфигурационном файле appsettings.ProdLinux.json укажите адрес Оркестратора и TenantId (если эта машина не в тенанте по умолчанию) и пользователя из тенанта, а также адрес машины робота:

"Orchestrator": { "UserName": "agent", "Password": "Qwe123!@#", "BaseUrl": "https://192.168.1.154:5001", "DownloadRpaProject": true, "UserBaseUrlFromRequest": true, "TenantId": "" }, ... "Agent": { ... "IpAddress": "192.168.0.20", ... },

Убедитесь, что в конфигурационном файле appsettings.ProdLinux.json правильно указаны команды, с помощью которых агент запускает роботов и управляет машиной (здесь указаны правильные команды для CentOS 7):

"AgentCommands": { "At": "/usr/bin/at", "Reboot": "/usr/sbin/reboot", "Xvfb": "/usr/bin/xvfb-run", "Session": "/usr/bin/gnome-session" },

Запуск службы:

[primo-admin@centos-robot ~]$ sudo systemctl start Primo.Orchestrator.Agent

Просмотр статуса службы:

[primo-admin@centos-robot ~]$ sudo systemctl status Primo.Orchestrator.Agent

Просмотр журнала службы:

[primo-admin@centos-robot ~]$ sudo journalctl -u Primo.Orchestrator.Agent

Настройка правила брандмауэра Firewall

Установка и настройка брандмауэра Firewall описана в Using Firewalls.

Для разрешения доступа к API агента оркестратора выполните следующее:

[primo-admin@centos-robot ~]$ sudo firewall-cmd --zone=public --add-port=5002/tcp --permanent [primo-admin@centos-robot ~]$ sudo firewall-cmd --reload

Настройка учетной записи робота

Создание учётной записи робота robot1:

[primo-admin@centos-robot ~]$ sudo useradd -g primo-rpa -m -s /bin/bash robot1

Установка пароля учётной записи робота robot1:

[primo-admin@centos-robot ~]$ sudo passwd robot1 Изменяется пароль пользователя robot1. Новый пароль : *** Повторите ввод нового пароля : *** passwd: все данные аутентификации успешно обновлены.

После создания учётной записи робота на машине робота войдите в графический сеанс этой учётной записи для инициализации графического окружения.

Рекомендуется отключить фон рабочего стола для экономии памяти. Для этого используйте:

ПКМ на рабочем столе -> Изменить фон

Запомните разрешение экрана, при котором тестируются действия робота - поиск изображений, клики и т.п., чтобы настроить такое же разрешение пользователю робота в Оркестраторе:

Приложения -> Системные -> Параметры -> Устройства -> Дисплеи

Рекомендации по настройке пользователя робота в Оркестраторе (пользователя РДП):
Для экономии памяти используйте минимально необходимую глубину цвета экрана - 24 или 16 бит.

Обновление агента оркестратора

Остановка службы:

[primo-admin@centos-robot ~]$ sudo systemctl stop Primo.Orchestrator.Agent

Обновление файлов агента оркестратора на машине роботов (файл Agent-linux.zip должен находиться в каталоге /srv/samba/shared/install):

[primo-admin@centos-robot ~]$ sudo unzip -o -u /srv/samba/shared/install/Agent-linux.zip -d /opt/Primo/Agent -x appsettings.ProdLinux.json appsettings.json [primo-admin@centos-robot ~]$ sudo chown -R agent.primo-rpa /opt/Primo/Agent [primo-admin@centos-robot ~]$ sudo chmod -R g+w /opt/Primo/Agent [primo-admin@centos-robot ~]$ sudo chmod a+x /opt/Primo/Agent/Primo.Orchestrator.Agent

Запуск службы:

[primo-admin@centos-robot ~]$ sudo systemctl start Primo.Orchestrator.Agent

Просмотр статуса службы:

[primo-admin@centos-robot ~]$ sudo systemctl status Primo.Orchestrator.Agent

Миграция агента оркестратора

Для миграции существующей установки агента оркестратора на версию с возможностью работы без прав root выполните следующее:

  • настройте пользователей и группы
  • перенесите данные агента оркестратора
  • обновите агент и файл конфигурации
  • обновите файл управления службой

Настройка пользователей и групп

Эти команды необходимо выполнять от имени пользователя, настроенного как администратор при установке CentOS 7:

[admin@centos-robot ~]$ sudo systemctl stop Primo.Orchestrator.Agent [admin@centos-robot ~]$ sudo useradd -m -s /bin/bash primo-admin [admin@centos-robot ~]$ sudo usermod -G wheel primo-admin [admin@centos-robot ~]$ sudo passwd primo-admin Новый пароль : *** Повторите ввод нового пароля : *** passwd: пароль успешно обновлён

Теперь небходимо войти в систему под пользователем primo-admin и дальнейшие команды выполнять под его именем.

Выполните команды из следующих разделов:

Существующие учётные записи роботов добавьте в группу primo-rpa:

[primo-admin@centos-robot ~]$ sudo usermod -G primo-rpa robot

Перенос данных агента оркестратора

В командах этого раздела предполаются исходные пути каталогов с данными, совпадающие с оригинальным файлом конфигурации. Если эти пути были изменены, то подставьте изменённые пути.

[primo-admin@centos-robot ~]$ sudo mkdir /opt/Primo/AgentData [primo-admin@centos-robot ~]$ sudo mv /opt/Primo/Agent/RobotLocks /opt/PrimoAgent/RobotDistr /opt/Primo/Agent/ScreenFilesZip /opt/Primo/AgentData [primo-admin@centos-robot ~]$ sudo chown -R agent.primo-rpa /opt/Primo/AgentData /opt/LTools [primo-admin@centos-robot ~]$ sudo chmod -R g+w /opt/Primo/AgentData /opt/LTools

Обновление агента и файла конфигурации

Обновление файлов агента оркестратора (файл Agent-linux.zip должен находиться в каталоге /srv/samba/shared/install):

[primo-admin@centos-robot ~]$ sudo unzip -o -u /srv/samba/shared/install/Agent-linux.zip -d /opt/Primo/Agent -x appsettings.ProdLinux.json appsettings.json [primo-admin@centos-robot ~]$ sudo chown -R agent.primo-rpa /opt/Primo/Agent [primo-admin@centos-robot ~]$ sudo chmod -R g+w /opt/Primo/Agent [primo-admin@centos-robot ~]$ sudo chmod a+x /opt/Primo/Agent/Primo.Orchestrator.Agent

В файле конфигурации appsettings.ProdLinux.json внесите следующие изменения:

  1. Вместо:
... "Robot": { ... "LocksPath": "/opt/Primo/Agent/RobotLocks", ... }

укажите:

... "Robot": { ... "LocksDir": "RobotLocks" }
  1. Вместо:
"DeployRobot": { ... "RobotDistrPath": "/opt/PrimoAgent/RobotDistr", ... }

укажите:

"DeployRobot": { ... "RobotDistrDir": "RobotDistr", ... }
  1. Вместо:
"ScreenFiles": { ... "ZipPath": "/opt/Primo/Agent/ScreenFilesZip", ... }

укажите:

"ScreenFiles": { ... "ZipDir": "ScreenFilesZip", ... }
  1. Добавьте:
"Agent": { ... "DataPath": "/opt/Primo/AgentData", ... }, ... "AgentCommands": { "At": "/usr/bin/at", "Reboot": "/usr/sbin/reboot", "Xvfb": "/usr/bin/xvfb-run", "Session": "/usr/bin/gnome-session" },

Обновление файла управления службой

[primo-admin@centos-robot ~]$ sudo cp /opt/Primo/Agent/Primo.Orchestrator.Agent.service /etc/systemd/system/ [primo-admin@centos-robot ~]$ sudo systemctl daemon-reload [primo-admin@centos-robot ~]$ sudo systemctl enable /etc/systemd/system/Primo.Orchestrator.Agent.service