Служба ragent на сервере 1С:Предприятия 8.3: запуск, порты, кластер и разбор сбоев

· 10 мин

Содержание

Агент сервера 1С — это служба Windows (процесс ragent.exe), которую открывают в оснастке services.msc: найдите службу с именем вида 1C:Enterprise 8.3 Server Agent (x86-64), проверьте, что она в состоянии «Выполняется», и запустите её кнопкой «Запустить». Доступ к агенту извне настраивается через порты: 1540 — сам агент, 1541 — менеджер кластера, 1560–1591 — рабочие процессы. Все три должны быть открыты в брандмауэре сервера.

Обычно агент вспоминают, когда пользователи видят окно «Не могу установить соединение с сервером 1С:Предприятия», а консоль администрирования не подключается. Причина почти всегда в одном из четырёх мест: служба остановлена, закрыт порт, не совпали версии платформы или у учётной записи службы нет прав.

Что делает агент сервера и почему без него ничего не работает

В клиент-серверной 1С 8.3 три уровня процессов:

ПроцессФайлПорт по умолчаниюЗадача
Агент сервераragent.exe1540Принимает первое обращение клиента, хранит список кластеров, запускает менеджер кластера
Менеджер кластераrmngr.exe1541Ведёт реестр баз, сеансов, блокировок и распределяет нагрузку
Рабочие процессыrphost.exe1560–1591Выполняют код конфигурации и работают с СУБД

Порядок подключения такой: клиент обращается к агенту на 1540, агент сообщает адрес менеджера кластера (1541), а тот отправляет клиента в один из рабочих процессов из диапазона портов. Консоль администрирования серверов тоже идёт через агент.

Из этого следует простое правило:

  • 🔴 агент остановлен — не стартуют ни rmngr, ни rphost, базы недоступны всем;
  • 🟡 агент работает, но закрыт 1541 или диапазон 1560–1591 — консоль может видеть кластер, а пользователи всё равно получают ошибку соединения;
  • 🟢 всё открыто — клиент проходит цепочку за доли секунды.

Данные агента лежат в каталоге srvinfo (по умолчанию C:\Program Files\1cv8\srvinfo). Внутри — папка reg_1541 с файлом реестра кластера 1CV8Clst.lst и служебными каталогами баз. Не удаляйте и не правьте файлы в srvinfo без резервной копии каталога — в 1CV8Clst.lst записаны все зарегистрированные базы и администраторы кластера.

Как открыть и запустить агент сервера 1С через службы Windows

Начните с оснастки служб. Это самый быстрый способ понять, жив ли агент.

  1. Нажмите Win + R, введите services.msc, нажмите Enter.
  2. В списке найдите 1C:Enterprise 8.3 Server Agent (x86-64). Если на сервере 32-битная платформа, суффикса (x86-64) нет.
  3. Посмотрите столбец «Состояние». Пусто — служба остановлена.
  4. Откройте свойства двойным щелчком и проверьте вкладку «Общие»: тип запуска должен быть «Автоматически».
  5. Нажмите «Запустить». Через 5–15 секунд в диспетчере задач появятся ragent.exe, rmngr.exe и хотя бы один rphost.exe.

Что проверить в свойствах службы

На вкладке «Общие» в поле «Исполняемый файл» видна полная командная строка запуска. Типичный вид:

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

Здесь важно четыре вещи:

  • 📌 номер платформы в пути — он должен совпадать с версией, установленной на клиентах;
  • 📌 -port, -regport, -range — реальные порты, на которых будет слушать сервер;
  • 📌 -d — каталог srvinfo; если его перенесли, путь должен вести на новое место;
  • 📌 -debug — разрешает отладку на сервере; на боевом сервере без нужды его не держат.

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

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

Агент на Linux

На Linux агент тоже работает как служба. Начиная с платформы 8.3.21 в комплект входит unit-файл systemd, в более ранних версиях использовался скрипт /etc/init.d/srv1cv83. Точное имя unit-а зависит от версии, его проще найти поиском:

systemctl list-unit-files | grep -i 1c
systemctl status <имя_службы>
ps aux | grep ragent

Управление агентом из командной строки

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

Запуск, остановка и состояние службы

Все команды выполняются в cmd от имени администратора. Имя службы берите из свойств службы (поле «Имя службы»), а не из отображаемого названия:

sc query "1C:Enterprise 8.3 Server Agent (x86-64)"
sc stop  "1C:Enterprise 8.3 Server Agent (x86-64)"
sc start "1C:Enterprise 8.3 Server Agent (x86-64)"

То же в PowerShell:

Get-Service *1C*
Restart-Service "1C:Enterprise 8.3 Server Agent (x86-64)"

Регистрация службы заново

После установки новой платформы служба иногда продолжает смотреть на старый каталог bin, а то и вовсе не регистрируется. Тогда её пересоздают средствами самого ragent.exe из каталога нужной версии:

cd "C:\Program Files\1cv8\8.3.24.1548\bin"
ragent.exe -rmsrvc
ragent.exe -instsrvc -usr .\USR1CV8 -pwd "пароль" -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"

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

Регистрация консоли администрирования

Если оснастка «Администрирование серверов 1С Предприятия» не открывается или пишет об ошибке, перерегистрируйте библиотеку консоли из каталога той же версии, что и сервер:

regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\radmin.dll"

В каталоге bin есть и готовый файл RegMSC.cmd, который делает то же самое. Запускайте его от имени администратора.

Удалённое управление через ras и rac

Для работы без графической консоли (скрипты, Linux, мониторинг) поднимают сервер администрирования ras и обращаются к нему утилитой rac. По умолчанию ras слушает порт 1545 и подключается к агенту на 1540:

ras.exe cluster --port=1545 localhost:1540
rac.exe localhost:1545 cluster list
rac.exe localhost:1545 session list --cluster=<uuid_кластера>

Команда cluster list выводит UUID кластера, который нужен остальным командам. Полный список подкоманд и параметров — в справке rac help и rac <режим> help.

Порты сервера 1С и правила брандмауэра

Брандмауэр — вторая по частоте причина, по которой агент «не открывается» с клиентских машин, хотя на самом сервере всё работает.

ПортКто слушаетНужен клиенту
1540Агент ragentДа
1541Менеджер кластера rmngrДа
1560–1591Рабочие процессы rphostДа
1545Сервер администрирования rasТолько администратору

Правило для входящих подключений в брандмауэре Windows добавляется одной командой:

netsh advfirewall firewall add rule name="1C Server 8.3" dir=in action=allow protocol=TCP localport=1540-1541,1560-1591

Как проверить, что порт открыт

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

netstat -ano | findstr ":1540"

С клиентской машины проверьте доступность через PowerShell:

Test-NetConnection srv1c -Port 1540
Test-NetConnection srv1c -Port 1541
Test-NetConnection srv1c -Port 1560

TcpTestSucceeded : True по всем трём — сеть в порядке. Если 1540 отвечает, а 1560 нет, ищите правило, где забыли диапазон рабочих процессов.

💡 Диапазон рабочих процессов задаётся в свойствах рабочего сервера в консоли (поле с диапазоном IP-портов). Если его сузили, например до 1560:1570, правило брандмауэра можно сделать тем же диапазоном — лишние порты открывать не нужно.

Несколько агентов на одном сервере

Так делают, когда на одной машине нужны две версии платформы. Второму агенту дают другой набор портов и свой каталог данных, например -port 2540 -regport 2541 -range 2560:2591 -d "C:\Program Files\1cv8\srvinfo2". В строке подключения клиента порт указывают явно: srv1c:2541.

Регистрация сервера и кластера в консоли администрирования

Когда агент запущен, его подключают в консоль «Администрирование серверов 1С Предприятия» (ярлык ставится вместе с сервером).

  1. В дереве слева щёлкните правой кнопкой по «Central 1C:Enterprise 8.3 servers» и выберите Создать → Центральный сервер 1С:Предприятия 8.3.
  2. Протокол — TCP, имя — сетевое имя сервера (лучше имя, а не IP, если клиенты подключаются по имени), IP-порт — 1540.
  3. Раскройте сервер. При первой установке кластер «Локальный кластер» с портом 1541 создаётся автоматически.
  4. Если кластера нет, вызовите на узле «Кластеры» команду Создать → Кластер, укажите имя, компьютер и порт 1541.
  5. В узле кластера «Рабочие серверы» откройте свойства сервера: здесь задаётся диапазон портов рабочих процессов, параметры отказоустойчивости и требования назначения функциональности.

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

По умолчанию кластер открыт любому, кто подключился к агенту по сети. Чтобы закрыть доступ:

  • 🔐 в узле «Администраторы» центрального сервера добавьте администратора агента — тогда без пароля нельзя создавать и удалять кластеры;
  • 🔐 в узле «Администраторы» кластера добавьте администратора кластера — без него нельзя управлять базами и сеансами.

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

Агент готов принимать пользователей
Выполнено: 0 / 6

Диагностика ошибок подключения и журналы агента

Сначала определите, на каком шаге рвётся цепочка: служба → порт → версия → права. Типичные сообщения и что за ними стоит:

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

Где смотреть журналы

  • 📄 Журнал событий Windows — eventvwr.msc → Журналы Windows → Приложение. Фильтруйте по источнику, в имени которого есть 1C. Здесь видны падения службы и ошибки старта.
  • 📄 Технологический журнал — включается файлом logcfg.xml в каталоге conf платформы (C:\Program Files\1cv8\conf). Пишет события процессов сервера: исключения, разрывы соединений, вызовы. Включайте его на время диагностики с фильтром по событиям: без фильтра журнал за час может вырасти на гигабайты.
  • 📄 Дампы — при аварийном завершении rphost или ragent платформа может сохранять дампы; их передают в поддержку, а не разбирают вручную.

Минимальный logcfg.xml для поиска ошибок сервера:

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="C:\1c_logs" history="24">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <event>
      <eq property="name" value="CONN"/>
    </event>
    <property name="all"/>
  </log>
</config>

Параметр history="24" хранит журналы за последние 24 часа. Каталог C:\1c_logs должен существовать, и у пользователя службы должно быть право записи в него. Платформа подхватывает изменения файла сама, перезапуск службы не нужен.

Если не помогло: очистка кэша сеансов сервера

При странном поведении после обновления конфигурации (старые формы, ошибки, которых нет в новой версии) помогает очистка серверного кэша:

  1. Предупредите пользователей: все сеансы на сервере будут завершены.
  2. Остановите службу агента.
  3. Скопируйте каталог srvinfo\reg_1541 в резервную папку.
  4. В reg_1541 удалите папки snccntx* — это кэш сеансовых данных. Файл 1CV8Clst.lst и папки баз с GUID-именами не трогайте.
  5. Запустите службу и проверьте вход в базу.

Если сервер после этого не стартует, верните каталог из копии — настройки кластера восстановятся полностью.

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

Можно ли поменять порт 1540 на другой?
Да. Перерегистрируйте службу с параметрами -port и -regport на новые значения и укажите порт менеджера кластера в строке подключения клиента, например srv1c:2541.
Нужен ли агент сервера для файловой базы?
Нет. Файловая база работает без серверных процессов. Агент нужен только для клиент-серверного варианта и для серверов, к которым подключаются через консоль администрирования.
Почему после обновления платформы пользователи не входят в базу?
Служба агента осталась на старой версии, а клиенты обновились, или наоборот. Номер сборки в пути ragent.exe и на клиентах должен совпадать.
Сколько рабочих процессов запускает агент?
Это решает менеджер кластера по настройкам рабочего сервера: количеству баз и соединений на процесс. Минимум — один rphost на рабочий сервер.
Где хранится список баз сервера 1С?
В файле 1CV8Clst.lst в каталоге srvinfo\reg_1541. Его копирование вместе с каталогом — простой способ сохранить конфигурацию кластера перед обновлением.