Где найти службы сервера 1С и проверить, что они работают

· 9 мин

Содержание

Чтобы посмотреть сервисы 1С на сервере, откройте services.msc и найдите службу 1C:Enterprise 8.3 Server Agent — это агент сервера, от которого зависит всё остальное. Состав кластера, рабочие процессы и сеансы видны уже в консоли «Администрирование серверов 1С Предприятия», а на Linux — через systemctl и утилиту rac.

Каждый уровень отвечает на свой вопрос. Служба — запущен ли сервер вообще. Процессы — сколько он ест памяти и не завис ли. Консоль кластера — кто подключён и какие сервисы кластера работают. А автоперезапуск и оповещения помогут узнавать о падении раньше бухгалтерии.

В файловом варианте 1С служб нет вообще. База — это файл 1Cv8.1CD, а работает только клиентское приложение. Всё, что описано дальше, касается клиент-серверного варианта.

Какие службы и процессы ставит сервер 1С

Сервер 1С:Предприятия 8.3 — это не одна программа, а связка из нескольких процессов. Служба Windows запускает только агента, остальные он поднимает сам.

КомпонентФайл процессаПорт по умолчаниюЗа что отвечает
Агент сервераragent.exe1540Точка входа для клиентов и консоли, запускает остальное
Менеджер кластераrmngr.exe1541Реестр баз, сеансов, распределение нагрузки
Рабочие процессыrphost.exe1560–1591Выполняют код конфигурации и запросы к СУБД
Сервер администрированияras.exe1545Нужен для работы утилиты rac и сторонних консолей
Хранилище конфигурацииcrserver.exe1542Сервер хранилища для групповой разработки (ставится отдельно)

Кроме служб самой 1С, на сервере часто стоят ещё две, без которых база не откроется:

  • 🔑 Менеджер лицензий Sentinel (HASP) — если используются аппаратные ключи. Служба называется Sentinel LDK License Manager.
  • 🗄️ СУБД — служба MS SQL Server или PostgreSQL. Если она остановлена, агент 1С работает, но базы не открываются.

Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера в консоли кластера. Если его меняли, ориентируйтесь на свои значения, а не на 1560–1591.

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

Самый быстрый способ проверить, жив ли сервер.

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

В карточке службы полезны три вкладки:

  • 📄 Общие — поле «Исполняемый файл». Здесь видно, из какой папки версии запускается ragent.exe, путь к каталогу кластера (-d) и порты (-port, -regport, -range). Это главный ответ на вопрос «какая версия платформы у нас работает».
  • 👤 Вход в систему — от какой учётной записи работает служба. Обычно это локальный пользователь USR1CV8 или доменная учётка. От этих прав зависят доступ к папкам выгрузки и сетевым ресурсам.
  • 🔁 Восстановление — что Windows делает при сбое службы. К этой вкладке вернёмся в разделе про мониторинг.

Если на сервере стоит несколько версий платформы, служб агента может быть несколько. Названия обычно различаются номером версии или разрядностью. Работающей должна быть одна на порт: две службы на порту 1540 одновременно не запустятся.

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

Сервисы кластера в консоли администрирования 1С

Служба показывает только «включено/выключено». Что происходит внутри — видно в консоли «Администрирование серверов 1С Предприятия».

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

Консоль — это оснастка MMC, которая работает через библиотеку radmin.dll. После установки новой версии платформы её нужно зарегистрировать, иначе оснастка пустая или выдаёт ошибку. Запустите командную строку от имени администратора:

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

Номер версии в пути подставьте свой — он должен совпадать с версией работающего агента. Разрядность библиотеки тоже должна совпадать с разрядностью установленной платформы.

Что смотреть в дереве консоли

Добавьте сервер (имя компьютера и порт агента 1540), затем раскройте Кластеры → Локальный кластер. Дальше узлы:

УзелЧто показываетКогда смотреть
Информационные базыСписок баз кластера и их параметрыПроверить, что база зарегистрирована, не включена ли блокировка регламентных заданий
Рабочие процессыПроцессы rphost, их память, число соединений, признак «Включен»Сервер тормозит, растёт память
СеансыКто подключён, к какой базе, с какого компьютераНужно найти зависший сеанс или освободить лицензию
СоединенияАктивные соединения с рабочими процессамиДиагностика подвисаний
БлокировкиУправляемые блокировки по объектамПользователи жалуются на ожидание записи
Менеджеры кластераПроцессы rmngr и сервисы, которые они обслуживаютПроверить, какие сервисы кластера запущены
Рабочие серверыКомпьютеры кластера, диапазон портов, параметры отказоустойчивостиНастройка портов и нагрузки

Сервисы кластера

Внутри узла «Менеджеры кластера» у каждого менеджера есть список сервисов: сервис сеансов, блокировок, журналов регистрации, полнотекстового поиска, лицензирования и другие. Именно это администраторы чаще всего имеют в виду под «сервисами 1С».

Если сервис нужно вынести на отдельный сервер (например, полнотекстовый поиск или журналы регистрации), это делается через узел «Требования назначения функциональности» в свойствах рабочего сервера. Без нужды там ничего не меняйте: ошибка в требованиях может оставить кластер без сервиса.

Как посмотреть сервисы 1С на Linux

На Linux сервер 1С работает как служба systemd. Имя юнита зависит от версии платформы и способа установки, поэтому сначала найдите его:

systemctl list-units --type=service --all | grep -i -E 'srv1cv8|1c'

В свежих версиях платформы юнит обычно называется в духе srv1cv8-8.3.xx.xxxx@default.service. В старых установках встречается srv1cv83 — тогда это скрипт инициализации.

Дальше стандартные команды systemd:

# состояние службы и последние строки лога
systemctl status srv1cv8-8.3.24.1548@default.service

# лог службы за сегодня
journalctl -u srv1cv8-8.3.24.1548@default.service --since today

# запущенные процессы сервера
ps aux | grep -E 'ragent|rmngr|rphost' | grep -v grep

# какие порты слушает сервер
ss -tlnp | grep -E ':154[0-5]'

На Linux процессы называются так же, только без .exe: ragent, rmngr, rphost. Работают они от пользователя usr1cv8.

Графической консоли кластера на Linux нет. Варианты:

  1. Подключиться к серверу консолью с Windows-машины (агент принимает подключения по порту 1540).
  2. Запустить ras и управлять кластером через rac прямо с сервера.
  3. Использовать сторонние веб-консоли, которые работают через ras.

systemctl restart агента на Linux так же обрывает сеансы, как и перезапуск службы на Windows.

Процессы 1С в Диспетчере задач и Process Explorer

Служба может показывать «Выполняется», а сервер при этом не отвечает. Тогда смотрите на процессы.

  1. Откройте Диспетчер задач (Ctrl + Shift + Esc) → вкладка «Подробности».
  2. Отсортируйте по имени и найдите ragent.exe, rmngr.exe, rphost.exe.
  3. Добавьте столбцы «Командная строка» и «Имя пользователя»: правый клик по заголовку → «Выбрать столбцы».

На что смотреть:

  • 📈 Память rphost.exe растёт часами и не падает — признак утечки или тяжёлой операции. В консоли кластера можно задать допустимый объём памяти рабочих процессов, тогда кластер сам перезапустит процесс.
  • 🔥 Процессор 100% на одном rphost — найдите в консоли, какой сеанс сидит на этом процессе. В узле «Рабочие процессы» видно PID, его можно сопоставить с Диспетчером задач.
  • 👻 rphost.exe есть, а ragent.exe нет — агент упал, а дочерние процессы остались. Новые подключения не пройдут.
  • 🧩 Несколько ragent.exe — запущено несколько агентов на разных портах. Проверьте командную строку каждого.

Удобнее, чем Диспетчер задач, утилита Process Explorer из набора Sysinternals. Она показывает дерево: ragent → rmngr → rphost, сразу видно, кто кого запустил. Для портов подойдёт Resource Monitor (resmon) → вкладка «Сеть» → «Прослушивающие порты».

Завершение процесса rphost.exe прерывает все сеансы, которые на нём работают. Несохранённые данные пользователей пропадут. Сначала посмотрите в консоли, кто сидит на процессе.

Командная строка: sc, PowerShell и rac

Когда серверов несколько или нужно встроить проверку в скрипт, графика неудобна.

Службы Windows

:: все службы 1С с состоянием
sc query state= all | findstr /i "1C"

:: подробная настройка службы, включая путь к ragent.exe
sc qc "1C:Enterprise 8.3 Server Agent (x86-64)"

Имя службы для sc qc возьмите из вывода первой команды (строка SERVICE_NAME) — оно может отличаться от отображаемого.

То же в PowerShell:

Get-Service | Where-Object { $_.DisplayName -like "*1C*" } |
  Format-Table Name, DisplayName, Status, StartType

# процессы сервера с памятью в мегабайтах
Get-Process ragent, rmngr, rphost -ErrorAction SilentlyContinue |
  Select-Object Name, Id, @{n='MemMB';e={[math]::Round($_.WorkingSet64/1MB)}}

Утилита rac

rac — консольный клиент сервера администрирования. Сначала должен быть запущен ras. Разово на Windows:

"C:\Program Files\1cv8\8.3.24.1548\bin\ras.exe" cluster --port=1545 localhost:1540

Для постоянной работы ras регистрируют службой. Дальше команды rac:

rac cluster list
rac server list --cluster=<UUID кластера>
rac process list --cluster=<UUID кластера>
rac session list --cluster=<UUID кластера>
rac session list --cluster=<UUID кластера> --licenses

UUID кластера берётся из вывода rac cluster list. Если на кластере задан администратор, добавьте --cluster-user и --cluster-pwd. Остальные команды и параметры смотрите в справке rac help и rac help <режим> — набор зависит от версии платформы.

Мониторинг и оповещения о падении службы

Хуже всего, когда о падении сервера сообщает главбух в 9:05. Минимальная страховка ставится за 15 минут.

Автоперезапуск службы

В карточке службы агента на вкладке «Восстановление» задайте:

  • первый сбой — «Перезапуск службы»;
  • второй сбой — «Перезапуск службы»;
  • последующие сбои — «Перезапуск службы» или «Запуск программы» (скрипт оповещения);
  • «Перезапуск службы через» — 1 минута.

На Linux аналог — параметр Restart=on-failure в override-файле юнита (systemctl edit <имя юнита>).

Оповещение

Варианты от простого к серьёзному:

СпособЧто ловитСложность
Задача в Планировщике по событию из журнала «Система» об остановке службыПадение службы агентаНизкая
Скрипт PowerShell по расписанию: Get-Service + проверка порта 1540 + письмо или сообщение в мессенджерОстановку службы и «зависший» агентСредняя
Zabbix или аналог: шаблон с проверкой службы, процессов и данных из racПамять rphost, число сеансов, лицензииВысокая

Простая проверка порта в PowerShell:

$ok = Test-NetConnection -ComputerName localhost -Port 1540 -InformationLevel Quiet
if (-not $ok) {
    # здесь отправка оповещения: письмо, вебхук мессенджера и т.п.
    Write-Output "Агент 1С не отвечает на порту 1540"
}

Для разбора, почему служба падает, включите технологический журнал: файл logcfg.xml в каталоге conf платформы. Начните с событий EXCP (исключения) и PROC (старт и остановка процессов) — их объём небольшой.

Включённый технологический журнал без фильтров быстро заполняет диск. Ограничьте события и задайте срок хранения в часах.

Если вы ищете «Сервисы» внутри самой базы

Иногда под сервисами 1С понимают не службы сервера, а то, что видно в самой программе.

  • 🌐 Подключённые сервисы 1С (1С:Контрагент, 1СПАРК Риски, ЭДО, обновление классификаторов). В БП 3.0, ЗУП 3.1 и УТ 11 они собраны в Администрирование → Интернет-поддержка и сервисы. Там же видно, подключена ли интернет-поддержка.
  • ⏱️ Регламентные и фоновые задания. В БП 3.0: Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания. Тут видно, какие задания выполняются, когда был последний запуск и с какой ошибкой он завершился.

Если регламентные задания в клиент-серверной базе не запускаются вообще, проверьте в консоли кластера свойства базы: флажок «Блокировка регламентных заданий включена» должен быть снят. Это частая причина после копирования рабочей базы в тестовую.

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

Почему служба 1С запущена, а пользователи не могут войти?
Проверьте службу СУБД и менеджер лицензий: агент 1С работает независимо от них. Затем посмотрите в консоли кластера, нет ли блокировки сеансов в свойствах базы.
Как узнать версию платформы, на которой работает сервер?
Откройте свойства службы агента: в поле «Исполняемый файл» путь содержит номер версии, например 8.3.24.1548\bin\ragent.exe. На Linux версия видна в имени юнита systemd.
Можно ли смотреть кластер 1С с другого компьютера?
Да. Поставьте на свою машину консоль той же версии платформы, зарегистрируйте radmin.dll и добавьте сервер по имени. На сервере должен быть открыт порт агента 1540.
Сколько процессов rphost — это нормально?
Зависит от настроек рабочего сервера и нагрузки: кластер сам запускает дополнительные процессы. Тревожный признак — не их число, а постоянный рост памяти одного процесса.
Можно ли сменить учётную запись службы 1С?
Можно, на вкладке «Вход в систему». Новой учётке нужны права на каталог кластера (по умолчанию srvinfo) и на папки, с которыми работают обработки. Изменение вступит в силу после перезапуска службы.