Чем в 1С 8.3 смотреть сеансы, блокировки и ошибки сервера

· 9 мин

Содержание

Единого окна с названием «монитор портала 1С» в платформе нет. За мониторинг сервера 1С 8.3 отвечают три инструмента: консоль администрирования кластера (оснастка Администрирование серверов 1С Предприятия), утилита командной строки rac и журнал регистрации внутри самой базы. Открыть монитор чаще всего означает одно из двух — посмотреть, кто сейчас работает в базе и какие блокировки мешают, либо найти в журнале запись об ошибке.

Консоль запускается так: Пуск → 1С Предприятие 8.x → Администрирование серверов 1С Предприятия. Журнал регистрации открывается прямо из программы: Все функции → Стандартные → Журнал регистрации. Ниже — как подключиться к каждому инструменту, что в нём видно и чем пользоваться, когда консоли под рукой нет.

Сразу оговорка: всё это работает только в клиент-серверном варианте (есть служба сервера 1С). В файловой базе кластера нет — там мониторинг ограничен журналом регистрации и списком активных пользователей.

С чего начать: доступ к серверу и права

Монитор открывается на машине, где установлена серверная часть 1С, либо на администраторском ПК с установленной оснасткой консоли. Если консоль ставили отдельно — при установке платформы отметьте компонент Администрирование сервера 1С Предприятия.

Проверьте три вещи до первого подключения:

  • 🔌 Служба сервера запущена. Агент кластера ragent слушает порт 1540, менеджер кластера rmngr — 1541, рабочие процессы rphost — диапазон, заданный в свойствах рабочего сервера (по умолчанию 1560–1591). Консоль и rac подключаются к агенту на 1540.
  • 🔑 Права администратора кластера. Если в кластере заведён список администраторов, без логина и пароля из этого списка консоль покажет ошибку доступа. Права администратора базы данных — отдельные, их спрашивают при действиях с конкретной информационной базой.
  • 🧱 Порты открыты в фаерволе. При подключении к удалённому серверу нужны как минимум 1540 и 1541, а для работы с сеансами — диапазон портов рабочих процессов.

Для журнала регистрации серверные права не нужны — достаточно учётной записи пользователя базы с правом на просмотр журнала. Это самый быстрый способ что-то увидеть, если доступа к консоли нет.

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

Что именно нужно посмотреть?

Как открыть консоль администрирования кластера

Запустите оснастку из меню «Пуск». Откроется окно mmc с деревом слева. Разверните Central 1C:Enterprise 8.x servers → имя_сервера → Кластеры → Локальный кластер. Внутри кластера лежат узлы, которые и есть «монитор»:

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

Если в «Пуске» оснастки нет или дерево пустое, причина почти всегда одна — не зарегистрирован компонент консоли. Это типовой случай на 64-разрядной платформе.

Зарегистрируйте библиотеку консоли от имени администратора:

regsvr32 "C:\Program Files\1cv8\8.3.x.xxxx\bin\radmin.dll"

Подставьте номер установленного релиза вместо 8.3.x.xxxx. После этого оснастка появляется в списке mmc.

Чтобы добавить сервер вручную, встаньте на узел Central servers, в командной панели выберите создание центрального сервера и укажите имя машины и порт агента 1540.

Активные сеансы и соединения: кто сейчас в базе

Узел Сеансы — главный экран мониторинга в рабочее время. По колонкам видно пользователя, имя компьютера, тип приложения (толстый клиент, тонкий, веб-клиент, фоновое задание), время начала и счётчики нагрузки. Сортировка по памяти или по вызовам СУБД быстро выделяет сеанс, который «съедает» сервер.

Разница между узлами простая:

УзелЧто показываетКогда смотреть
СеансыЛогические сеансы пользователей и фоновых заданийКто работает, перед обновлением базы
СоединенияФизические подключения к рабочим процессамРазбор нагрузки на уровне процессов
БлокировкиОжидания на управляемых блокировкахБаза «висит», растут таймауты

Чтобы освободить базу перед обновлением конфигурации, сеансы можно завершить принудительно: правой кнопкой по сеансу → удалить.

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

Тот же список сеансов доступен без консоли, из режима «Предприятие»: Все функции → Стандартные → Активные пользователи. Форма не даёт завершать сеансы и не показывает память, но отвечает на вопрос «кто мешает обновить базу » за пару секунд.

Блокировки и взаимоблокировки: как найти виновника

Когда пользователи жалуются, что документ «не проводится» и выскакивает Превышено время ожидания предоставления блокировки, смотрите узел Блокировки. Там видно, какой сеанс удерживает ресурс и какие сеансы стоят в очереди за ним. Виновник — тот, кто держит блокировку долго; обычно это зависший документ или долгая транзакция.

Нужно различать два разных явления:

  • Ожидание на блокировке — один сеанс ждёт, пока другой отпустит ресурс. По умолчанию платформа ждёт 20 секунд, потом выдаёт ошибку таймаута. Лечится завершением «держателя» или оптимизацией кода.
  • Взаимоблокировка (deadlock) — два сеанса ждут ресурсы друг друга. Платформа сама обрывает одну из транзакций с ошибкой о взаимоблокировке. В консоли вы её уже не увидите — она мгновенная.

Чтобы поймать взаимоблокировки и долгие ожидания постфактум, включают технологический журнал. Положите файл logcfg.xml в каталог conf платформы (C:\Program Files\1cv8\conf) и опишите в нём сбор событий TLOCK, TTIMEOUT и TDEADLOCK в отдельный каталог. По этим записям видно и участников, и строки запросов.

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

Журнал регистрации: где искать события и ошибки

Журнал регистрации — это история всех действий в базе: входы, проведение документов, ошибки, изменения настроек. Открывается из программы: Все функции → Стандартные → Журнал регистрации.

Если команды Все функции в меню нет, включите её: Главное меню → Сервис → Параметры → отметить «Отображать команду Все функции». Из конфигуратора журнал открывается иначе — Администрирование → Журнал регистрации.

Главный инструмент здесь — отбор. Нажмите настройку отбора и задайте:

  1. Интервал — сузьте до нужных суток или часов, иначе журнал открывается долго.
  2. Важность — Ошибка, Предупреждение, Информация, Примечание. Для разбора сбоя оставьте только Ошибка.
  3. Пользователь — чтобы увидеть действия конкретного сотрудника.
  4. Событие — например, только проведение или только удаление.

Физически журнал в 8.3 (начиная с релиза 8.3.5) хранится одним файлом 1Cv8.lgd в формате SQLite, в каталоге информационной базы на сервере. В более старых базах это каталог 1Cv8Log с файлами .lgf и .lgp. Если журнал распух и открывается медленно, в конфигураторе задают период разделения файлов и минимальную важность записываемых событий.

Полная очистка журнала стирает историю, которая нужна для разбора инцидентов и спорных ситуаций. Вместо удаления настройте период хранения и разделение по месяцам.

Утилита rac и мониторинг без консоли

Когда графической консоли нет (сервер под Linux, доступ только по SSH) или мониторинг нужен по расписанию, работает утилита rac. Она лежит в каталоге bin платформы и обращается к серверу администрирования ras.

Сначала должен быть запущен ras — он слушает порт 1545 и служит посредником между rac и агентом кластера. На Windows его регистрируют службой, на Linux запускают демоном. Если ras не поднят, rac вернёт ошибку соединения.

Базовый сценарий — получить список сеансов:

# получить идентификатор кластера
rac cluster list

# активные сеансы выбранного кластера
rac session list --cluster=<UUID-кластера>

# соединения и блокировки
rac connection list --cluster=<UUID-кластера>
rac lock list --cluster=<UUID-кластера>

Сначала rac cluster list выдаёт UUID кластера — его подставляют в остальные команды. Если в кластере заданы администраторы, добавьте --cluster-user= и --cluster-pwd=.

Завершить сеанс из командной строки:

rac session terminate --cluster=<UUID-кластера> --session=<UUID-сеанса>

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

Полный перечень команд и параметров всегда под рукой — вызовите rac help или rac session help. Не угадывайте подкоманды: у rac строгий синтаксис, и несуществующий параметр просто вернёт ошибку.

Для автоматизации вывод rac session list собирают скриптом по расписанию (планировщик Windows или cron) и складывают в лог или базу. Так получается простейший монитор: число сеансов и память по часам, без покупки дополнительных продуктов. Для серьёзного анализа производительности с показателями APDEX существует отдельный продукт — Центр контроля качества из корпоративного инструментального пакета; он не входит в поставку сервера и ставится отдельно.

Частые ошибки при подключении к монитору

Большинство проблем с открытием монитора — это не сбой базы, а несовпадение версий, прав или портов. Сверьтесь с типовыми ситуациями:

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

Отдельно про версии: оснастка консоли и rac должны совпадать с версией сервера по номеру релиза — используйте номер не ниже установленного на сервере. Консоль от другой версии либо не подключится, либо покажет не все узлы.

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

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