ragent.exe и его окружение: где живёт агент сервера 1С и как его проверить
Содержание
За агент сервера 1С отвечает файл ragent.exe (в Linux — ragent без расширения). Он лежит в каталоге bin установленной версии платформы: в Windows это обычно C:\Program Files\1cv8\8.3.xx.xxxx\bin\ragent.exe, в Linux — /opt/1cv8/x86_64/8.3.xx.xxxx/ragent. Служба Windows называется 1C:Enterprise 8.3 Server Agent (x86-64) и запускает именно этот файл с параметрами портов и каталога данных.
Сам по себе процесс агента лёгкий. Тяжёлую работу делают его «дети»: менеджер кластера rmngr и рабочие процессы rphost. Поэтому при диагностике важно понимать, какой файл за что отвечает, где хранятся настройки кластера и что смотреть, когда служба не стартует или сервер «не обнаружен».
Какое место агент занимает в кластере 1С
Сервер 1С:Предприятия — это не одна программа, а связка процессов. Агент стартует первым и поднимает остальные.
| Процесс | Файл | Порт по умолчанию | Что делает |
|---|---|---|---|
| Агент сервера | ragent | 1540 | Принимает первое обращение клиента и консоли, хранит список кластеров, запускает менеджер кластера |
| Менеджер кластера | rmngr | 1541 | Ведёт реестр кластера: информационные базы, рабочие серверы, сеансы, блокировки |
| Рабочий процесс | rphost | диапазон 1560–1591 | Выполняет серверный код конфигурации и запросы к СУБД |
| Сервер администрирования | ras | 1545 | Шлюз для утилиты rac и сторонних консолей; ставится отдельно |
Путь соединения такой:
- 🔌 Клиент обращается к агенту на порт 1540.
- 🧭 Агент передаёт его менеджеру кластера на порт 1541.
- ⚙️ Менеджер выделяет рабочий процесс из диапазона портов, и дальше клиент работает с
rphostнапрямую.
Консоль администрирования серверов (оснастка MMC) тоже ходит через агент. Если ragent не запущен, консоль не увидит кластер, а пользователи получат ошибку соединения — даже если СУБД и рабочие процессы на другом сервере живы.
Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера, а не кластера. Там же — параметры отказоустойчивости и требования назначения функциональности. Это частая путаница при настройке нескольких серверов.
Файлы агента сервера 1С в Windows
Каждая версия платформы ставится в свой каталог. Если на сервере стоят 8.3.22 и 8.3.24, у каждой свой ragent.exe, и служба запускает только один из них.
Что лежит в C:\Program Files\1cv8\<версия>\bin:
- 🟢
ragent.exe— агент сервера; - 🟢
rmngr.exe— менеджер кластера; - 🟢
rphost.exe— рабочий процесс; - 🟢
ras.exeиrac.exe— сервер и клиент администрирования; - 📄
conf\logcfg.xml— настройка технологического журнала (по умолчанию файла нет, его создают вручную); - 🛠️
radmin.dll— библиотека консоли администрирования, её регистрирует скриптRegMSC.cmdиз того же каталога.
Как узнать, какой файл запускает служба
Самый надёжный способ — спросить саму службу. В командной строке от администратора:
sc qc "1C:Enterprise 8.3 Server Agent (x86-64)"
В строке BINARY_PATH_NAME будет полный путь и параметры. Типичный вид:
"C:\Program Files\1cv8\8.3.24.1342\bin\ragent.exe" -debug -srvc -agent
-regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
Что значат параметры:
-srvc— процесс запущен как служба;-agent— режим агента;-port— порт агента,-regport— порт менеджера кластера;-range— диапазон портов рабочих процессов для первого запуска;-d— каталог данных сервера (srvinfo);-debug— разрешена отладка на сервере.
То же видно в services.msc: свойства службы → поле «Исполняемый файл».
Если служба запускает ragent.exe старой версии, а клиенты уже обновлены, база не откроется: версии клиента и сервера должны совпадать до последней цифры. Проверьте путь в BINARY_PATH_NAME, а не только список установленных программ.
Каталог srvinfo — где хранятся настройки
В srvinfo лежит всё, что агент «помнит» между перезапусками:
1cv8wsrv.lst— реестр агента: список кластеров и администраторов центрального сервера;reg_1541\1CV8Clst.lst— реестр кластера: зарегистрированные базы, рабочие серверы, администраторы кластера;reg_1541\<GUID базы>\— служебные данные базы, в том числе журнал регистрации при клиент-серверном варианте;reg_1541\snccntx*— кеш сеансовых данных.
Файлы 1cv8wsrv.lst и 1CV8Clst.lst — самое ценное на сервере 1С после самой СУБД. Без них кластер «забывает» базы и администраторов. Копируйте их регулярно вместе с остальными резервными копиями.
Агент сервера в Linux: файлы, юниты и каталоги
Начиная с версии 8.3.20 платформа в Linux ставится в каталог по номеру версии:
/opt/1cv8/x86_64/8.3.24.1342/ragent
/opt/1cv8/x86_64/8.3.24.1342/rmngr
/opt/1cv8/x86_64/8.3.24.1342/rphost
В более старых версиях путь был общий для всех сборок — /opt/1C/v8.3/x86_64/.
Процессы работают от пользователя usr1cv8, который создаётся при установке. Каталог данных по умолчанию — /home/usr1cv8/.1cv8/1C/1cv8, внутри та же структура, что и в Windows: 1cv8wsrv.lst, reg_1541, 1CV8Clst.lst.
Запуск через systemd
В современных версиях в каталоге платформы лежит готовый юнит-файл вида srv1cv8-<версия>@.service. Его подключают и включают так:
sudo systemctl link /opt/1cv8/x86_64/8.3.24.1342/srv1cv8-8.3.24.1342@.service
sudo systemctl enable --now srv1cv8-8.3.24.1342@default
systemctl status srv1cv8-8.3.24.1342@default
В старых сборках использовался init-скрипт /etc/init.d/srv1cv83 с настройками в отдельном конфигурационном файле.
Проверить, что агент действительно слушает порт:
ps -u usr1cv8 -f | grep ragent
ss -tlnp | grep 1540
После обновления платформы в Linux старый юнит продолжает запускать старую версию. Новую нужно подключить отдельно, а старую — остановить и отключить. Остановка службы обрывает все сеансы, поэтому делайте это в окно обслуживания.
Проверка и управление службой агента
Порядок диагностики, когда пользователи не могут подключиться к серверу :
- Жив ли процесс. Windows:
tasklist /fi "imagename eq ragent.exe". Linux:ps -u usr1cv8 -f. - Слушает ли порт. Windows:
netstat -ano | findstr :1540. Если порт занят процессом с другим PID — там сидит другая служба или вторая версия платформы. - Доступен ли порт по сети. С клиентской машины:
Test-NetConnection имя_сервера -Port 1540в PowerShell. - Доступны ли 1541 и диапазон 1560–1591. Частая картина: агент отвечает, а рабочие процессы закрыты файрволом. Консоль видит кластер, а база не открывается.
- Что пишет журнал. Windows: «Просмотр событий» → «Журналы Windows» → «Приложение», источник с 1С в названии. Linux:
journalctl -u srv1cv8-<версия>@default.
Регистрация службы вручную
Если службу удалили или нужно поставить вторую версию рядом, ragent.exe умеет регистрировать себя сам:
"C:\Program Files\1cv8\8.3.24.1342\bin\ragent.exe" -instsrvc -usr .\USR1CV8 -pwd "Пароль" ^
-regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
Удаление службы — тот же файл с ключом -rmsrvc, запуск — -start, остановка — -stop.
Две версии платформы на одном сервере
Две службы не могут слушать один порт. Второй экземпляр ставят со сдвигом:
| Экземпляр | -port | -regport | -range | -d |
|---|---|---|---|---|
| Основной | 1540 | 1541 | 1560:1591 | ...\srvinfo |
| Тестовый | 2540 | 2541 | 2560:2591 | ...\srvinfo2 |
Каталог данных у каждого свой. В строке подключения к базе второго экземпляра указывают порт: сервер:2541.
Права доступа и безопасность агента
Служба агента работает от отдельного пользователя — в Windows по умолчанию USR1CV8. Запускать её от администратора домена или LocalSystem — плохая идея: уязвимость в серверном коде получит слишком много прав.
Минимум, который нужен пользователю службы:
- ✅ право «Вход в качестве службы» (локальная политика безопасности → «Назначение прав пользователя»);
- ✅ полный доступ к каталогу srvinfo;
- ✅ чтение и выполнение для каталога
binверсии платформы; - ✅ доступ к каталогу, куда пишет технологический журнал, если он включён;
- ✅ при работе с MS SQL по Windows-аутентификации — права в СУБД.
Администраторы кластера и центрального сервера
По умолчанию после установки кластер открыт: любой, кто дотянулся до порта 1540 консолью, может зарегистрировать или удалить базу. Закрывают это двумя уровнями:
- 🔐 администраторы центрального сервера — в консоли на узле «Администраторы» центрального сервера, хранятся в
1cv8wsrv.lst; - 🔐 администраторы кластера — в узле «Администраторы» кластера, хранятся в
1CV8Clst.lst.
Пароль администратора кластера потерян? Не пересоздавайте кластер. Остановите службу (сеансы пользователей оборвутся — выбирайте нерабочее время) и восстановите 1CV8Clst.lst из резервной копии. Если копии нет — обращайтесь к администратору, который настраивал сервер.
Отладка и сеть
Ключ -debug в строке запуска разрешает подключение отладчика к серверу. На рабочем сервере без разработки его лучше убрать: меньше открытых возможностей. Порты 1540, 1541 и диапазон рабочих процессов открывайте в файрволе только для подсетей, где сидят пользователи и сервер приложений.
Ошибки службы агента и как их разобрать
netstat -ano | findstr :1540 и журнал «Приложение».Test-NetConnection с клиентской машины.ragent.exe другой версии. Сверьте путь в sc qc с версией клиента и перерегистрируйте службу нужной версии.radmin.dll нужной версии. Запустите RegMSC.cmd из каталога bin от администратора.Отдельная история — испорченный кеш сеансовых данных. Симптомы: странные ошибки при входе в одну базу, «зависшие» сеансы, которые не удаляются из консоли. Лечение:
- Предупредите пользователей: остановка службы обрывает все сеансы на всех базах кластера.
- Остановите службу агента.
- Удалите или перенесите в сторону папки
snccntx*внутриreg_1541. Файлы.lstне трогайте. - Запустите службу — кеш создастся заново.
Нагрузка и производительность сервера 1С
Если в диспетчере задач видно, что сервер 1С съел всю память, почти всегда виноват не ragent, а rphost. Агент занимает десятки мегабайт и почти не грузит процессор. Настраивать нужно рабочие процессы и окружение.
Что даёт реальный эффект:
- 💾 srvinfo на быстром диске. Кеш сеансовых данных и журналы регистрации пишутся постоянно. На медленном HDD это заметно тормозит вход пользователей.
- 🛡️ Исключение для антивируса. Добавьте в исключения srvinfo и каталог
bin. Сканирование каждого обращения к файлам кеша даёт задержки «на ровном месте». - 📊 Лимиты памяти рабочих процессов. В свойствах рабочего сервера задаются «Временно допустимый объём памяти процессов» и интервал превышения. При превышении кластер перезапускает рабочий процесс мягко, без падения всего сервера.
- 🔢 Число баз и сеансов на процесс. Там же, в свойствах рабочего сервера: ограничение количества ИБ и соединений на процесс. Для крупных баз полезно уменьшить, чтобы одна тяжёлая база не тормозила соседей.
- 📝 Технологический журнал без лишнего. Журнал со сбором всех событий быстро забивает диск и грузит сервер. Включайте его под конкретную задачу и выключайте после.
- 🔄 Журнал регистрации в формате SQLite. Для больших баз удобнее и быстрее старого текстового формата; переключается в Конфигураторе.
Регулярный перезапуск службы агента «для профилактики» — признак, что не настроены лимиты памяти. Правильно настроенный кластер сам перезапускает разбухшие рабочие процессы без остановки остальных баз.
Частые вопросы
Можно ли запустить ragent.exe двойным щелчком без службы?
-srvc, процесс будет работать, пока открыто окно. Для отладки годится, для рабочего сервера — нет.Где хранится список баз кластера?
1CV8Clst.lst внутри srvinfo\reg_1541. Порт в имени папки совпадает с портом менеджера кластера.Зачем ставить ras, если есть консоль MMC?
ras нужен для утилиты rac, скриптов мониторинга и консолей под Linux. Консоль MMC работает через агент напрямую и без ras.Почему в диспетчере задач несколько rphost.exe?
Переносится ли кластер вместе с переустановкой платформы?
-d. Реестр кластера и список баз сохранятся.