Установка агента
Файлы из комплекта поставки
Скопируйте на целевую машину файлы, приведенные в таблице ниже — они находятся в комплекте поставки Primo RPA AI Server. Остальное ПО должно быть предустановлено в ОС.
| Файл | Описание |
|---|---|
distr/Agent-linux.zip | Дистрибутив агента |
Установка агента
Настройка учетной записи
Для работы агента создайте группу primo-ai и учетную запись agent.
sudo groupadd primo-aisudo useradd -g primo-ai -m -s /bin/bash agentsudo usermod -aG docker agentСоздание подсети для запуска контейнеров
Подсеть используется NLP-сервером, IDP-сервером, FT-сервером и LLM-ядром.
docker network create \
--driver bridge \
--subnet=172.17.0.0/24 \
--gateway=172.17.0.1 \
agent_agent_aiУстановка и настройка агента
Разверните файлы агента на целевой машине — файл Agent-linux.zip должен находиться в каталоге /srv/samba/shared/install:
sudo mkdir -p /app/Primo.AI /app/Primo.AI/Agent /app/Primo.AI/AgentDatasudo unzip /srv/samba/shared/install/Agent-linux.zip -d /app/Primo.AI/Agentsudo chmod -R 771 /app/Primo.AI/Agent /app/Primo.AI/AgentDatasudo chown -R agent:primo-ai /app/Primo.AI/Agent /app/Primo.AI/AgentDataУстановите агент как службу и настройте автозапуск:
sudo cp /app/Primo.AI/Agent/Primo.AI.Agent.service /etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl enable /etc/systemd/system/Primo.AI.Agent.serviceВ конфигурационном файле appsettings.ProdLinux.json укажите:
- AgentId — уникальный идентификатор агента в виде значения с типом данных GUID. Идентификатор агента можно задать самостоятельно, а затем передать администратору вместе с IP-адресом, чтобы он добавил его в профиль целевой машины, либо наоборот — сначала создать целевую машину в разделе Настройки ➝ Целевые машины, скопировать автоматически заданный GUID и указать его в этом параметре.
- UserName — логин учетной записи агента.
- Password — пароль от учетной записи агента.
- Адрес Primo.AI.Api и его компонентов.
"Api": {
"AgentId": "{91E221E8-8E13-4100-8BCB-84EA318C32DA}", // Уникальный идентификатор агента
"UserName": "agent",
"Password": "Xxxxxxxxxxxx",
"AuthBaseUrl": "https://primo-rpa-ai-server:44392",
"ApiBaseUrl": "https://primo-rpa-ai-server:44392",
"InferenceBaseUrl": "https://primo-rpa-ai-server:44392",
"LogsBaseUrl": "https://primo-rpa-ai-server:44392",
"MaxCallRetry": 3, //Максимальное количество попыток вызова сервиса
"MaxTimeoutSecondsRetry": 100, //Максимальный таймаут для попытки
"NlpEngineAgentBaseUrl": "https://localhost:5005", // Реквизиты агента LLM-ядра (может быть на отдельной машине)
"AgentBaseUrl": "http://172.17.0.1:5092", // URL агента, доступный из IDP-сервера
"TenantId": null // Если агент обслуживает отдельный тенант, укажите его здесь
},Запустите службы:
sudo systemctl start Primo.AI.AgentПроверьте статус службы:
sudo systemctl status Primo.AI.AgentПросмотрите журнал службы:
sudo journalctl -u Primo.AI.AgentНастройка правила брандмауэра ufw
Для разрешения доступа к API агента выполните команды:
sudo ufw allow 5002/tcpИли для создания белого списка:
sudo ufw allow from x.x.x.x to any port 5002 proto tcpГде x.x.x.x - IP-адрес машины, на которой установлена серверная часть AI Server.
Также создайте правило для доступности агента по http:5092 только из других компонентов целевой машины внутри подсети agent_agent_ai (IDP-, NLP- и FT-сервер):
sudo ufw allow from 172.17.0.0/24 to 172.17.0.1 port 5092 proto tcpСинхронизация времени
Пропустите шаг, если установка ведется на одну и ту же машину.
Проверьте время командой date на целевой машине и на машине сервера. Вывод должен быть одинаковым.
- Если временная зона отличается:
- Установите временную зону компонентов Api в Docker:
sudo sed -i 's|TIMEZONE=Xxxxxxxxxx|TIMEZONE=Yyyyyyyyyy|g' /app/Primo.AI/Api/.env- Установите временную зону машины сервера и целевой машины:
sudo timedatectl set-timezone Yyyyyyyyyy- Перезапустите компоненты Api:
docker compose -f /app/Primo.AI/Api/docker-compose.yaml down && docker compose -f /app/Primo.AI/Api/docker-compose.yaml up -d && \ sudo systemctl restart Primo.AI.Api.MachineInfo- Перезапустите агента:
sudo systemctl restart Primo.AI.Agent- Настройте регулярную синхронизацию времени между машиной сервера и целевой машиной
⚠️
Если время между серверами не будет регулярно синхронизироваться, это приведет к трудно диагностируемым периодическим ошибкам – агенты будут оставаться без лицензий на непродолжительное время.
Что дальше
Выполните установку конкретных целевых машин.