Служба ragent: где она живёт и как задать ей порты, каталог и учётную запись

· 9 мин

Содержание

Агент сервера 1С — это программа ragent.exe, которая в Windows лежит в папке C:\Program Files\1cv8\<номер версии>\bin\ и работает как служба с именем вида «Агент сервера 1С:Предприятия 8.3 (x86-64)». Найти её проще всего в оснастке services.msc, а настраивают агент через параметры командной строки службы: порты, каталог кластера, уровень безопасности.

Типичная ситуация: после обновления платформы пользователи видят ошибку подключения к серверу, консоль кластера пустая, а администратор не помнит, какая версия агента вообще запущена. Ниже — где искать службу и файлы, как читать и менять её настройки в Windows и Linux и что проверять, если агент не стартует.

Все пути и команды даны для платформы 8.3 в клиент-серверном варианте. В файловом варианте агента сервера нет вовсе: его ставят только вместе с «Сервером 1С:Предприятия».

Где на диске лежат файлы агента сервера

Агент состоит из исполняемого файла и рабочего каталога кластера. Это две разные папки, и путать их нельзя.

ЧтоWindows (64 бит)Linux (64 бит)
Исполняемый файл агентаC:\Program Files\1cv8\8.3.xx.xxxx\bin\ragent.exe/opt/1cv8/x86_64/8.3.xx.xxxx/ragent
Менеджер кластераrmngr.exe в той же папкеrmngr в той же папке
Рабочий процессrphost.exe в той же папкеrphost в той же папке
Каталог кластера по умолчаниюC:\Program Files\1cv8\srvinfo/home/usr1cv8/.1cv8/1C/1cv8

Если стоит 32-разрядный сервер, ищите в C:\Program Files (x86)\1cv8\. На одной машине бывает несколько версий платформы в соседних папках. Работает при этом та, на которую указывает служба, а не самая свежая.

Внутри каталога кластера (srvinfo) лежат:

  • 📁 reg_1541 — данные кластера, где 1541 — порт менеджера;
  • 📄 1CV8Clst.lst в этой папке — реестр кластера: список баз, рабочих серверов, администраторов;
  • 📄 1cv8wsrv.lst в корне srvinfo — список кластеров, известных агенту;
  • 📁 папки snccntx… — сеансовые данные, их иногда чистят при «зависших» сеансах.

Не удаляйте и не правьте 1CV8Clst.lst вручную. Без него кластер «забывает» все зарегистрированные базы. Перед любыми действиями с srvinfo остановите службу и сделайте копию всей папки.

Как найти службу агента и проверить, что она работает

Через оснастку «Службы»

  1. Нажмите Win + R, введите services.msc.
  2. Отсортируйте список по имени и найдите строку, начинающуюся с «Агент сервера 1С:Предприятия 8.3». В английской Windows или при старой установке она может называться 1C:Enterprise 8.3 Server Agent.
  3. Посмотрите столбцы «Состояние» и «Тип запуска»: для рабочего сервера нужны «Выполняется» и «Автоматически».
  4. Откройте свойства службы. В поле «Исполняемый файл» видна полная командная строка: путь к ragent.exe (из него понятна версия), порты и каталог кластера.

Через диспетчер задач

На вкладке «Подробности» ищите процессы ragent.exe, rmngr.exe и rphost.exe. Если в списке есть ragent.exe, но нет rmngr.exe — агент запустился, а кластер не поднялся. Это уже повод смотреть журнал (см. раздел о диагностике).

Добавьте в диспетчере столбец «Командная строка» — так видно, какую версию запустили, даже без доступа к оснастке служб.

Из командной строки

sc query type= service state= all | findstr /i "1C"
sc qc "1C:Enterprise 8.3 Server Agent (x86-64)"

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

Проверить, слушает ли агент порт:

netstat -ano | findstr :1540

Строка со статусом LISTENING и PID, совпадающим с ragent.exe, значит, что агент принимает подключения.

Какие параметры запуска есть у агента и где их менять

Типичная командная строка службы выглядит так:

"C:\Program Files\1cv8\8.3.24.1467\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug

Что означает каждый ключ:

ПараметрНазначениеЗначение по умолчанию
-srvcзапуск в режиме службы—
-agentпроцесс работает как агент сервера—
-portпорт агента, к нему обращаются клиенты и консоль1540
-regportпорт менеджера главного кластера1541
-rangeдиапазон портов для рабочих процессов1560:1591
-dпуть к каталогу кластера (srvinfo)см. таблицу выше
-debugразрешает отладку на этом серверевыключено
-seclevуровень защищённости соединения: 0, 1 или 20

Клиент сначала стучится к агенту на 1540, тот направляет его к менеджеру кластера на 1541, а уже менеджер — к рабочему процессу из диапазона 1560–1591. Поэтому все три значения связаны и меняются вместе.

Способ 1. Переустановить службу с новыми параметрами

Самый чистый путь — штатные ключи самого ragent.exe. Командная строка запускается от имени администратора, служба перед этим останавливается.

cd "C:\Program Files\1cv8\8.3.24.1467\bin"
ragent.exe -stop
ragent.exe -rmsrvc
ragent.exe -instsrvc -usr .\USR1CV8 -pwd "ПарольСлужбы" -regport 2541 -port 2540 -range 2560:2591 -d "D:\1C\srvinfo2" -debug
ragent.exe -start

Здесь второй экземпляр сервера переведён на порты 25xx и собственный каталог. Именно так на одной машине держат два кластера разных версий.

Способ 2. Поправить строку запуска в реестре

Строка хранится в параметре ImagePath раздела:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<системное имя службы>

Её можно отредактировать в regedit или командой sc config <имя> binPath= "…". После правки службу нужно перезапустить.

Сменить версию агента при обновлении платформы проще всего так: в ImagePath замените номер версии в пути на новый. Остальные параметры и каталог srvinfo останутся прежними, базы не придётся регистрировать заново.

Учётная запись службы

Установщик по умолчанию создаёт локального пользователя USR1CV8 и запускает службу от его имени. Ему нужно право «Вход в качестве службы» и полный доступ к каталогу srvinfo и к папкам, куда пишется технологический журнал. Если базы лежат на MS SQL или PostgreSQL на этом же сервере, отдельных прав к СУБД учётке агента не нужно — подключение к СУБД идёт по логину, указанному в свойствах информационной базы.

Остановка или перезапуск службы агента обрывает сеансы всех пользователей всех баз кластера. Делайте это вне рабочего времени или после предупреждения в чате компании.

Чем отличается агент сервера в Windows и в Linux

Сама программа одна и та же, различается обвязка.

ЧтоWindowsLinux
Запуск и автостартслужба Windowsюнит systemd (в старых версиях — скрипт /etc/init.d/srv1cv83)
ПользовательUSR1CV8usr1cv8
Где параметрыImagePath в реестрефайл юнита или конфиг скрипта
Проверка статусаservices.msc, sc querysystemctl status
Порты1540 / 1541 / 1560–1591те же

В актуальных версиях платформы вместе с сервером в папке версии лежит шаблон юнита вида srv1cv8-8.3.xx.xxxx@.service. Его подключают и включают так:

sudo systemctl link /opt/1cv8/x86_64/8.3.24.1467/srv1cv8-8.3.24.1467@.service
sudo systemctl enable --now srv1cv8-8.3.24.1467@default
systemctl status srv1cv8-8.3.24.1467@default

Порты и каталог задают переменными окружения юнита или через systemctl edit, не правя исходный файл. В старых установках со скриптом srv1cv83 параметры лежат в /etc/default/srv1cv83 (Debian, Ubuntu) или /etc/sysconfig/srv1cv83 (RHEL-семейство).

Проверить порты в Linux:

ss -tlnp | grep -E '1540|1541'

Почему агент сервера не запускается: диагностика

Начинайте с журнала событий Windows: eventvwr.msc → «Журналы Windows» → «Приложение», источник с «1C» в названии. Там видна точная причина, и угадывать не придётся.

Диагностика: выберите симптом

Если служба работает, но сеансы зависают

Иногда помогает очистка сеансовых данных:

  1. Предупредите пользователей: их сеансы будут разорваны.
  2. Остановите службу агента.
  3. Скопируйте папку srvinfo в резерв.
  4. Удалите в reg_1541 только папки snccntx…. Файл 1CV8Clst.lst не трогайте.
  5. Запустите службу и проверьте подключение.

Технологический журнал

Если причина не видна в событиях Windows, включите технологический журнал. Он настраивается файлом logcfg.xml в папке C:\Program Files\1cv8\conf\ (для конкретной версии — bin\conf). Начните с событий EXCP и PROC: они покажут исключения и падения процессов кластера. После диагностики журнал выключите — он быстро занимает диск.

Сетевые настройки и защита агента сервера

Брандмауэр

На сервере нужно открыть входящие TCP-подключения:

  • 🔌 1540 — агент сервера;
  • 🔌 1541 — менеджер кластера;
  • 🔌 1560–1591 — рабочие процессы (или ваш диапазон из -range);
  • 🔌 1545 — только если используете сервер администрирования ras для утилиты rac.

Проще разрешить правило не по портам, а по программам ragent.exe, rmngr.exe и rphost.exe нужной версии. Но после обновления платформы такое правило придётся пересоздать: путь изменится.

Имя сервера

Кластер сообщает клиентам имя компьютера, а не IP-адрес. Если клиент не может разрешить это имя, он подключится к агенту, но не дойдёт до рабочего процесса. Решение — запись в DNS или строка в C:\Windows\System32\drivers\etc\hosts на клиенте:

192.168.1.10    srv1c

Администраторы агента и кластера

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

  1. Узел «Администраторы» центрального сервера — администраторы агента.
  2. Узел «Администраторы» внутри кластера — администраторы кластера.

Сначала добавьте администратора с паролем, и только потом закрывайте консоль. Пароль храните там же, где пароли от СУБД. Потеряли — восстанавливайте файл кластера из резервной копии при остановленной службе или обращайтесь к тому, кто настраивал сервер; пересоздавать кластер не нужно.

Параметр -seclev (значения 0–2) повышает уровень защищённости соединений с сервером. Чем выше уровень, тем больше нагрузка на процессор, поэтому включайте его осознанно, если трафик идёт через недоверенную сеть.

Если не открывается консоль кластера

Консоль администрирования серверов подключается к агенту, поэтому её проблемы часто принимают за проблемы службы.

  • 🧩 Консоль пустая или выдаёт ошибку при открытии — зарегистрируйте библиотеку нужной версии от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.24.1467\bin\radmin.dll"
  • 🧩 Консоль одной версии не видит кластер другой версии — версия radmin.dll должна совпадать с версией агента.
  • 🧩 Нужен доступ без консоли, с Linux или из скрипта — запустите ras и работайте через rac: например, rac cluster list покажет кластеры агента. Остальные команды смотрите в справке rac help.

Частые вопросы

Можно ли запустить два агента сервера на одной машине?
Да. У каждого должны быть свои порты (-port, -regport, -range) и свой каталог -d. Обычно второй ставят на порты 2540/2541/2560–2591.
Нужен ли агент сервера для файловой базы?
Нет. Файловая база работает без серверных служб. Агент нужен только в клиент-серверном варианте.
Как узнать версию работающего агента?
Посмотрите путь к ragent.exe в свойствах службы или в столбце «Командная строка» диспетчера задач: номер папки и есть версия.
Можно ли запускать агент не как службу?
Можно запустить ragent.exe вручную из консоли без ключа -srvc, но процесс завершится вместе с сеансом пользователя Windows. Для рабочего сервера используйте службу.
Что даёт ключ -debug и стоит ли его оставлять?
Он разрешает отладку конфигурации на сервере. На боевом сервере без разработчиков его лучше убрать: отладка открывает дополнительный вход и нагружает процессы.