Что делает ragent на сервере 1С:Предприятия 8.3 и как с ним обращаться администратору
Содержание
Агент сервера 1С — это процесс ragent (служба «Агент сервера 1С:Предприятия 8.3»), который первым стартует на сервере, слушает порт 1540 и отвечает за всё остальное: запускает менеджер кластера rmngr и рабочие процессы rphost, хранит список кластеров на этом компьютере и проверяет администраторов центрального сервера. Без работающего агента клиент не найдёт базу, а консоль кластера не подключится к серверу.
Агент нужен, чтобы клиент мог обратиться по одному известному адресу сервер:1540, а дальше его перенаправили к менеджеру кластера и рабочему процессу. Всё относится к платформе 8.3 и не зависит от конфигурации: БП, ЗУП и УТ работают через агент одинаково.
Место агента в кластере серверов 1С
Кластер 1С — это не одна программа, а связка процессов. У каждого своя задача и свой порт.
| Процесс | Что делает | Порт по умолчанию |
|---|---|---|
ragent — агент сервера | Точка входа, запуск остальных процессов, реестр кластеров на компьютере | 1540 |
rmngr — менеджер кластера | Управляет кластером: базы, сеансы, блокировки, распределение нагрузки | 1541 |
rphost — рабочий процесс | Выполняет серверный код и запросы к СУБД | диапазон 1560–1591 |
ras — сервер администрирования | Отдельная служба для утилиты rac и сторонних консолей | 1545 |
Путь подключения выглядит так:
- 🖥️ Клиент обращается к агенту на порт 1540 и называет базу.
- 📋 Агент передаёт запрос менеджеру кластера на порт 1541.
- ⚙️ Менеджер выбирает рабочий процесс и сообщает клиенту его порт из диапазона.
- 🔗 Дальше клиент работает напрямую с
rphost.
Отсюда практическое следствие: на брандмауэре открывают не только 1540, но и 1541 и весь диапазон рабочих процессов. Открыли один 1540 — клиент «видит» сервер, но падает на следующем шаге.
На каждом рабочем сервере кластера работает свой агент. Центральный сервер отличается тем, что на нём хранится реестр кластера и работает главный менеджер. Консоль администрирования тоже идёт через агент: вы указываете в ней имя компьютера и порт 1540, а не адрес менеджера.
Где агент хранит данные
Рабочий каталог задаётся параметром -d. По умолчанию это C:\Program Files\1cv8\srvinfo в Windows и /home/usr1cv8/.1cv8/1C/1cv8 в Linux. Внутри:
- 📄
1cv8wsrv.lst— список кластеров этого компьютера и администраторов центрального сервера; - 📁
reg_1541— каталог кластера с портом менеджера 1541; - 📄
reg_1541\1CV8Clst.lst— реестр кластера: базы, рабочие серверы, администраторы кластера, настройки; - 📁
reg_1541\snccntx*— сеансовые данные и кэш.
Файл 1CV8Clst.lst — это и есть ваш кластер. Потеряете его — потеряете регистрацию всех баз. Копируйте каталог srvinfo в резервную копию вместе с базами СУБД.
Как агент запускает и перезапускает рабочие процессы
Агент сам не выполняет код конфигурации. Он поднимает процессы по команде менеджера кластера и следит, чтобы они жили.
Схема такая:
- При старте службы агент запускает
rmngrдля каждого кластера из1cv8wsrv.lst. - Менеджер решает, сколько рабочих процессов нужно, исходя из настроек рабочего сервера.
- Агент на соответствующем сервере стартует
rphost, выдаёт ему порт из диапазона. - Если рабочий процесс упал, менеджер запросит новый, и агент его поднимет.
Типичная строка запуска службы в Windows:
"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
Что означают ключи:
-srvc— работа в режиме службы;-agent— запуск именно агента;-port— порт агента,-regport— порт главного менеджера кластера;-range— диапазон портов для рабочих процессов;-d— рабочий каталог;-debug— разрешает отладку на сервере.
Номер версии в пути — пример, у вас он свой. Строку смотрят в свойствах службы, поле «Исполняемый файл».
Плановый перезапуск рабочих процессов
В свойствах кластера есть параметры «Интервал перезапуска» и «Допустимый объём памяти». Когда процесс превысил порог или отработал заданное время, кластер запускает новый rphost, переводит на него соединения и гасит старый. Пользователи этого обычно не замечают.
Порог памяти полезен на серверах, где процессы «распухают» за неделю работы. Значение подбирают по факту: смотрят в консоли, сколько занимает процесс в спокойное время, и ставят порог с запасом в полтора-два раза.
Как проверить, что агент работает
Начинают с трёх простых проверок. Они занимают пару минут и отвечают на вопрос «жив ли агент вообще».
1. Служба запущена. В Windows: services.msc, служба «Агент сервера 1С:Предприятия 8.3». Состояние «Выполняется», тип запуска «Автоматически». В Linux с платформы 8.3.21 служба управляется через systemd и называется по шаблону srv1cv8-8.3.xx.xxxx@:
systemctl list-units | grep srv1cv8
systemctl status srv1cv8-8.3.24.1548@default
2. Порт слушается. В Windows:
netstat -ano | findstr :1540
tasklist /fi "imagename eq ragent.exe"
Если строка с LISTENING есть, а PID совпадает с ragent.exe, агент принял порт. Если порт занят другим PID — это конфликт, второй экземпляр агента не стартует.
3. Видны процессы кластера. В диспетчере задач должны быть ragent, rmngr и хотя бы один rphost. Нет rmngr — агент запустился, но не поднял кластер. Смотрите журнал событий Windows, источник «1C:Enterprise 8.3 Server Agent».
Мониторинг из консоли и через rac
В консоли кластера (Администрирование серверов 1С Предприятия) в ветке «Рабочие процессы» видно память, число соединений, время ответа и доступную производительность каждого rphost. Ветка «Сеансы» показывает, кто держит лицензии и соединения.
Для скриптов и мониторинга удобнее rac. Он работает через службу ras, которую запускают отдельно:
ras cluster --port=1545 localhost:1540
rac localhost:1545 cluster list
rac localhost:1545 process list --cluster=<id кластера>
rac localhost:1545 session list --cluster=<id кластера>
Идентификатор кластера берут из вывода cluster list. Остальные подкоманды и параметры — в rac help.
Если консоль не открывается с ошибкой о классе или компоненте, перерегистрируйте radmin.dll той же версии платформы, что и сервер: regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\radmin.dll" из командной строки от имени администратора.
Для глубокой диагностики включают технологический журнал: файл logcfg.xml в каталоге bin\conf нужной версии платформы. Агент подхватывает его без перезапуска. Пишите в журнал только нужные события — полный журнал за час съедает гигабайты.
Учётная запись службы и администраторы агента
У агента два уровня защиты: под какой учётной записью работает служба и кто может им управлять.
Учётная запись службы
При установке сервера создаётся пользователь USR1CV8. Требования к учётке:
- ✅ право «Вход в качестве службы»;
- ✅ полный доступ к каталогу
srvinfo; - ✅ доступ к каталогу установки платформы на чтение и выполнение;
- ❌ не нужна в группе локальных администраторов.
Запускать агент под LocalSystem или доменным администратором — плохая идея. Серверный код конфигурации выполняется с правами службы, и любая внешняя обработка получит те же права.
Администраторы центрального сервера и кластера
Это разные списки, и их часто путают.
| Кто | Где хранится | Что может |
|---|---|---|
| Администратор центрального сервера (агента) | 1cv8wsrv.lst | Создавать и удалять кластеры на компьютере |
| Администратор кластера | 1CV8Clst.lst | Регистрировать базы, управлять сеансами и процессами |
| Администратор базы | Сама база | Входить в базу, давать права пользователям |
Пока список администраторов агента пуст, кластерами на компьютере может управлять любой, кто подключится к порту 1540. На рабочем сервере это дыра: заведите администратора в консоли через контекстное меню узла центрального сервера, раздел администраторов.
Пароль администратора кластера утерян — не удаляйте и не пересоздавайте кластер. Остановите службу агента (предупредив пользователей: все сеансы оборвутся), восстановите 1CV8Clst.lst из резервной копии и запустите службу. Если копии нет — обратитесь к тому, кто администрирует сервер.
Сетевой доступ к портам 1540–1591 ограничивают брандмауэром: только подсеть пользователей и серверы приложений. Агент не шифрует трафик сам, наружу в интернет его не выставляют.
Частые сбои агента и что с ними делать
Большинство проблем с агентом сводится к пяти сценариям.
netstat -ano. Вторая причина — у учётной записи службы нет доступа к каталогу srvinfo или к пути из параметра -d.ping имя_сервера с машины пользователя. Кластер регистрируется по имени компьютера, а не по IP, поэтому имя должно резолвиться через DNS или файл hosts.-range и из свойств рабочего сервера.hosts на время, затем исправьте имя рабочего сервера в консоли.snccntx* в reg_1541 при остановленной службе.Очистка сеансового кэша: порядок
Это частый и действенный приём, но делать его надо аккуратно.
- Выберите время без пользователей: при остановке службы оборвутся все сеансы во всех базах кластера.
- Остановите службу агента сервера 1С.
- Убедитесь, что в диспетчере задач не осталось
rphostиrmngr. - Скопируйте каталог
reg_1541целиком в сторону. - Удалите только папки
snccntx*. Файл1CV8Clst.lstи остальное не трогайте. - Запустите службу и проверьте вход в базу.
Несколько агентов на одном сервере
Иногда нужно держать две версии платформы: старую для одной базы, новую для остальных. Это допустимо, если у каждого агента свои порты и свой каталог -d. Например, второй экземпляр на портах 2540, 2541 и диапазоне 2560:2591. Клиенты второй версии подключаются к базе как сервер:2541.
Регистрация второй службы делается через сам ragent:
ragent.exe -instsrvc -usr .\USR1CV8 -pwd <пароль> -port 2540 -regport 2541 -range 2560:2591 -d "C:\Program Files\1cv8\srvinfo2"
ragent.exe -start
Удалить службу — ragent.exe -rmsrvc. Запускайте команды из каталога bin той версии, которой служба должна принадлежать. Если в системе уже есть служба с таким именем, сначала проверьте, чью службу вы удаляете.
Настройки агента и кластера, которые влияют на скорость
Агент сам по себе ресурсов почти не ест. Производительность определяют параметры рабочих серверов и кластера, которыми он управляет.
| Параметр | Где | На что влияет |
|---|---|---|
| Количество ИБ на процесс | Свойства рабочего сервера | Сколько баз обслуживает один rphost; 1 — изоляция баз друг от друга |
| Количество соединений на процесс | Свойства рабочего сервера | Когда запускать новый рабочий процесс |
| Максимальный объём памяти рабочих процессов | Свойства рабочего сервера | Общий потолок памяти всех rphost сервера |
| Безопасный расход памяти за один вызов | Свойства рабочего сервера | Обрывает тяжёлый вызов, а не весь процесс |
| Интервал перезапуска, допустимый объём памяти | Свойства кластера | Плановая замена «распухших» процессов |
| Уровень отказоустойчивости | Свойства кластера | Сколько серверов может отказать без потери сеансов |
Практические приёмы:
- 🚀 Уберите
-debugна рабочем сервере, если отладка там не нужна. Флаг добавляет накладные расходы. После правки строки запуска службы её перезапускают — с предупреждением пользователей. - 🧠 Ставьте «Безопасный расход памяти за один вызов». Без него один кривой отчёт съедает память процесса, и падают все пользователи на нём. С ним прерывается только этот вызов.
- 🗂️ Выносите тяжёлые базы в отдельный процесс через «Количество ИБ на процесс» = 1, если одна база мешает другим.
- 💾 Держите
srvinfoна быстром диске. Сеансовые данные пишутся постоянно, медленный диск даёт задержки на ровном месте. - 🛡️ Добавьте
srvinfoв исключения антивируса в режиме проверки при доступе. Сканер на каждом обращении к сеансовым файлам заметно тормозит кластер.
Для нескольких рабочих серверов настраивают «требования назначения функциональности» в свойствах рабочего сервера. Так фоновые задания можно отдать одной машине, а пользовательские сеансы — другой.
Частые вопросы об агенте сервера 1С
Можно ли перезапустить агент сервера 1С днём?
Нужна ли лицензия на агент сервера?
Почему в диспетчере задач несколько rphost?
Можно ли перенести каталог srvinfo на другой диск?
-d в строке запуска службы и запустите её снова. Учётной записи службы нужен полный доступ к новому месту.Чем ras отличается от ragent?
ragent управляет кластером и принимает подключения клиентов. ras — только посредник для утилиты rac и внешних консолей, без него клиенты работают нормально.