Кто сейчас работает в базе 1С: консоль кластера, rac, SQL и монитор активных пользователей

· 9 мин

Содержание

Посмотреть сеансы пользователей в 1С проще всего двумя способами. В клиент-серверной базе откройте консоль «Администрирование серверов 1С Предприятия» и раскройте Кластеры → 1541 → Информационные базы → <ваша база> → Сеансы. В любой базе, в том числе файловой, запустите обработку «Активные пользователи»: в Конфигураторе это Администрирование → Активные пользователи.

Обычно сеансы ищут, когда надо обновить конфигурацию , а база «занята», когда закончились лицензии или когда нужно понять, кто держит блокировку.

Какой способ мониторинга сеансов выбрать

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

СпособВариант базыЧто видноМожно завершить сеанс
Консоль кластера серверовклиент-серверныйвсе сеансы всех баз кластера, приложение, рабочий процесс, лицензиида
«Активные пользователи»любойсеансы текущей базыв типовых на БСП — да
rac session listклиент-серверныйто же, что в консоли, текстом для скриптовда, rac session terminate
Запрос к СУБДклиент-серверныйсоединения рабочих процессов с SQL-серверомнет, и не нужно
Открытые файлы Windowsфайловый на общей папкеучётные записи Windows, открывшие файл базытолько грубо, с риском

💡 Если нужен ответ «кто в базе прямо сейчас» за минуту, начинайте с «Активных пользователей». Консоль и rac нужны, когда надо видеть весь сервер или выгнать зависший сеанс.

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

Консоль — это оснастка MMC, которая ставится вместе с сервером 1С или с компонентом «Администрирование сервера 1С:Предприятия» в установщике платформы. Она подключается к агенту сервера по порту 1540.

Как открыть и подключиться

  1. Запустите из меню «Пуск» ярлык «Администрирование серверов 1С Предприятия».
  2. Если сервера в дереве нет, щёлкните правой кнопкой по Central 1C:Enterprise 8.3 servers → Создать → Центральный сервер 1С:Предприятия 8.3.
  3. Укажите имя компьютера с сервером 1С, протокол tcp, порт 1540.
  4. Раскройте сервер → Кластеры → кластер (по умолчанию называется по порту, 1541). Если в кластере заданы администраторы, консоль спросит логин и пароль.

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

В кластере есть два места:

  • 👥 узел Сеансы прямо в кластере — все сеансы всех баз сервера;
  • 🗂 Информационные базы → <база> → Сеансы — только сеансы выбранной базы.

В списке видно пользователя 1С, компьютер, приложение, время начала и последней активности, рабочий процесс, который обслуживает сеанс. Колонка «Приложение» отделяет людей от служебных подключений: «Тонкий клиент», «Конфигуратор», «Фоновое задание», «COM-соединение», «Веб-клиент».

Рядом лежат узлы Соединения и Блокировки. Соединение — это сетевое подключение клиента к рабочему процессу, сеанс — логический вход пользователя в базу. Один сеанс может пережить разрыв соединения, поэтому их число не всегда совпадает.

Как завершить сеанс

Щёлкните по сеансу правой кнопкой → Удалить. Пользователь потеряет всё, что не успел записать, а незаконченная транзакция откатится. Перед удалением позвоните человеку или хотя бы предупредите в общем чате, особенно если это сеанс Конфигуратора или фоновое задание обмена.

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

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

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

Номер в пути замените на версию платформы, которая стоит на сервере. Разрядность важна: 64-битная консоль регистрируется из Program Files, 32-битная — из Program Files (x86). Номер версии консоли должен совпадать с номером версии сервера, иначе подключение не пройдёт.

Монитор активных пользователей в режиме Предприятия

Этот способ работает и в файловой, и в серверной базе, прав администратора кластера не требует. Нужна только роль с правом администрирования в самой базе.

Откуда запустить

  • 🖥 Из Конфигуратора: Администрирование → Активные пользователи.
  • 📂 Из типовой конфигурации на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11): раздел Администрирование → Обслуживание, ссылка «Активные пользователи».
  • ⚙️ Из любой конфигурации: главное меню (☰) → Все функции → Стандартные → Активные пользователи. Если пункта «Все функции» нет, включите его в Сервис и настройки → Параметры флажком «Отображать команду “Все функции”».

Стандартная обработка показывает пользователя, компьютер, приложение, время начала и номер сеанса. Типовая форма из БСП богаче: умеет фильтровать, открывать журнал регистрации по выбранному пользователю и завершать сеансы. В клиент-серверной базе для завершения она спросит параметры администратора кластера.

💡 Имя компьютера помогает найти человека, если пользователь 1С общий, например «Бухгалтер» на троих. Ещё быстрее — двойной щелчок по строке в БСП-форме: откроется журнал регистрации с действиями этого сеанса.

Список сеансов программно

Тот же список можно получить кодом — например, во внешней обработке или в консоли кода. Функция выполняется на сервере:

&НаСервереБезКонтекста
Процедура ВывестиСеансыНаСервере()
    Для Каждого Сеанс Из ПолучитьСеансыИнформационнойБазы() Цикл
        Сообщить(СтрШаблон("%1 | %2 | %3 | начало %4 | №%5",
            Строка(Сеанс.Пользователь),
            Сеанс.ИмяКомпьютера,
            ПредставлениеПриложения(Сеанс.ИмяПриложения),
            Сеанс.НачалоСеанса,
            Формат(Сеанс.НомерСеанса, "ЧГ=0")));
    КонецЦикла;
КонецПроцедуры

Для сеансов фоновых заданий поле пользователя бывает пустым — это нормально. Отдельная функция ПолучитьСоединенияИнформационнойБазы() возвращает соединения, а не сеансы.

Просмотр сеансов из командной строки: ras и rac

Процесс rmngr — это менеджер кластера. Своих команд для просмотра сеансов у него нет, а с консолью и rac он общается через агент ragent. Для командной строки в поставке платформы есть пара утилит:

  • ras — сервер администрирования, посредник между rac и кластером. По умолчанию слушает порт 1545.
  • rac — клиент, который отправляет команды и печатает ответ текстом.

Запуск ras

Для разовой проверки ras можно запустить прямо в окне командной строки на сервере 1С:

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

Для постоянной работы ras регистрируют службой Windows. В Linux он лежит в /opt/1cv8/x86_64/<версия>/ и запускается с ключом --daemon.

Команды для сеансов

Сначала узнайте идентификатор кластера, затем базы, затем запросите сеансы:

rac localhost:1545 cluster list
rac localhost:1545 infobase summary list --cluster=<uuid-кластера>
rac localhost:1545 session list --cluster=<uuid-кластера> --infobase=<uuid-базы>

Если у кластера есть администратор, добавьте --cluster-user=<логин> --cluster-pwd=<пароль>. Без --infobase команда выведет сеансы всех баз.

В выводе каждого сеанса ищите поля:

  • user-name — пользователь 1С;
  • host — компьютер;
  • app-id — приложение: 1CV8C тонкий клиент, 1CV8 толстый, Designer Конфигуратор, BackgroundJob фоновое задание, WebClient веб-клиент;
  • started-at и last-active-at — начало и последняя активность.

Кто сколько держит лицензий, покажет rac session list --cluster=<uuid> --licenses. Завершить сеанс можно командой rac session terminate --cluster=<uuid> --session=<uuid-сеанса> — с теми же последствиями, что и удаление в консоли. Полный список ключей — в rac help session.

💡 Вывод rac удобно фильтровать: | findstr "user-name host app-id" в Windows или | grep -E "user-name|app-id" в Linux. Так за пять секунд видно, сколько Конфигураторов открыто перед обновлением.

Журнал сеансов по расписанию

Консоль показывает только «сейчас». Если нужно понять, кто занимает лицензии по утрам или кто оставляет Конфигуратор открытым на ночь, сохраняйте снимок списка в файл через Планировщик заданий Windows, например раз в 15 минут:

@echo off
set RAC="C:\Program Files\1cv8\8.3.24.1548\bin\rac.exe"
set CL=<uuid-кластера>
echo ===== %date% %time% >> C:\logs\sessions.txt
%RAC% localhost:1545 session list --cluster=%CL% | findstr "user-name host app-id started-at" >> C:\logs\sessions.txt

Через неделю такой файл отвечает на вопросы, которые консоль не решает: в какие часы пик сеансов, кто чаще всех работает в Конфигураторе, хватает ли купленных лицензий. Пароль администратора кластера в bat-файле храните только на сервере, в папке с ограниченным доступом.

Соединения на уровне СУБД: SQL-запросы

С SQL-сервером работают не пользователи, а рабочие процессы rphost. Поэтому запрос к СУБД покажет не «Иванов в 1С», а соединения сервера 1С: имя компьютера будет именем сервера 1С, логин — учётной записью, указанной в параметрах базы. Этот способ нужен для диагностики: кто долго держит транзакцию, какой запрос висит, сколько соединений открыто к базе.

MS SQL Server

SELECT session_id, login_name, host_name, program_name,
       status, login_time, last_request_end_time
FROM sys.dm_exec_sessions
WHERE database_id = DB_ID('buh_base');

Активные запросы и блокировки между ними покажет sys.dm_exec_requests: колонка blocking_session_id называет номер соединения, которое мешает.

PostgreSQL

SELECT pid, usename, client_addr, application_name,
       backend_start, state, query
FROM pg_stat_activity
WHERE datname = 'buh_base';

Связать соединение СУБД с конкретным пользователем 1С можно, пока идёт вызов: в списке сеансов консоли кластера есть сведения о соединении с СУБД, которое сеанс захватил в данный момент. Между вызовами такой связи нет.

Не завершайте соединения 1С средствами СУБД (KILL в MS SQL, pg_terminate_backend в PostgreSQL). Рабочий процесс получит ошибку, а сеансы, которые он обслуживал, оборвутся без понятного сообщения. Завершайте сеанс из консоли кластера или через rac.

Файловая база и клиент-серверная: что можно увидеть

В файловом варианте нет кластера, агента и рабочих процессов. Консоль администрирования и rac к такой базе не подключить, SQL-запроса тоже не будет. Остаются два пути.

  1. «Активные пользователи» из Конфигуратора или режима Предприятия — основной способ. Покажет пользователя 1С, компьютер и приложение.
  2. Открытые файлы Windows — если база лежит в общей папке, на компьютере с этой папкой откройте Управление компьютером → Общие папки → Открытые файлы. В списке будет учётная запись Windows и файл 1Cv8.1CD.

Второй способ выручает, когда база не открывается вовсе: например, Конфигуратор пишет, что монопольный режим недоступен, а запустить «Активных пользователей» нельзя. Видно хотя бы, с каких учётных записей открыт файл.

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

ВозможностьФайловыйКлиент-серверный
«Активные пользователи»дада
Консоль кластера и racнетда
Сеансы всех баз сразунетда
Соединения СУБДнетда
Завершение сеансаиз БСП-формыконсоль, rac, БСП-форма

Когда сеансы не видны или висят: проблемы и решения

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

Ещё одна частая причина путаницы — спящие сеансы. Сервер может перевести неактивный сеанс в спящий режим: соединение разорвано, а сеанс с его данными сохраняется и восстанавливается, когда клиент вернётся. В списке консоли такой сеанс помечен отдельным признаком. Удалять его можно так же, как обычный, но владелец потеряет несохранённые данные.

Перед обновлением конфигурации удобнее не выгонять людей вручную, а установить блокировку начала сеансов. В консоли кластера это свойства информационной базы: флажок «Блокировка начала сеансов включена», время начала и окончания, сообщение для пользователей. Новые входы будут запрещены, а действующие сеансы вы завершите после предупреждения.

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

Можно ли посмотреть, кто был в базе вчера?
Списки сеансов показывают только текущее состояние. Историю входов и выходов смотрите в журнале регистрации: события «Сеанс. Начало» и «Сеанс. Завершение».
Почему один пользователь занимает два сеанса?
Чаще всего открыты два окна программы или клиент плюс Конфигуратор. Ещё вариант — старый сеанс после аварийного закрытия, который сервер не успел завершить.
Нужны ли права администратора кластера, чтобы просто посмотреть сеансы?
Для консоли и rac — да, если администраторы кластера заданы. Для «Активных пользователей» внутри базы хватает административной роли в самой конфигурации.
Что делать, если пароль администратора кластера никто не помнит?
Остановите службу агента сервера в нерабочее время и восстановите файл настроек кластера из резервной копии, либо обратитесь к администратору сервера, который его настраивал. Пересоздавать кластер ради этого не нужно.
Показывает ли веб-клиент свои сеансы?
Да. Сеансы через веб-сервер видны в консоли и в «Активных пользователях» как «Веб-клиент», но в поле компьютера часто будет имя веб-сервера, а не рабочего места.