Чем в 1С 8.3 смотреть сеансы, блокировки и ошибки сервера
Содержание
Единого окна с названием «монитор портала 1С» в платформе нет. За мониторинг сервера 1С 8.3 отвечают три инструмента: консоль администрирования кластера (оснастка Администрирование серверов 1С Предприятия), утилита командной строки rac и журнал регистрации внутри самой базы. Открыть монитор чаще всего означает одно из двух — посмотреть, кто сейчас работает в базе и какие блокировки мешают, либо найти в журнале запись об ошибке.
Консоль запускается так: Пуск → 1С Предприятие 8.x → Администрирование серверов 1С Предприятия. Журнал регистрации открывается прямо из программы: Все функции → Стандартные → Журнал регистрации. Ниже — как подключиться к
каждому инструменту, что в нём видно и чем пользоваться, когда консоли под рукой нет.
Сразу оговорка: всё это работает только в клиент-серверном варианте (есть служба сервера 1С). В файловой базе кластера нет — там мониторинг ограничен журналом регистрации и списком активных пользователей.
С чего начать: доступ к серверу и права
Монитор открывается на машине, где установлена серверная часть 1С, либо на администраторском ПК с установленной оснасткой консоли. Если консоль ставили отдельно — при установке платформы отметьте компонент Администрирование сервера 1С Предприятия.
Проверьте три вещи до первого подключения:
- 🔌 Служба сервера запущена. Агент кластера
ragentслушает порт1540, менеджер кластераrmngr—1541, рабочие процессыrphost— диапазон, заданный в свойствах рабочего сервера (по умолчанию1560–1591). Консоль иracподключаются к агенту на1540. - 🔑 Права администратора кластера. Если в кластере заведён список администраторов, без логина и пароля из этого списка консоль покажет ошибку доступа. Права администратора базы данных — отдельные, их спрашивают при действиях с конкретной информационной базой.
- 🧱 Порты открыты в фаерволе. При подключении к удалённому серверу нужны как минимум
1540и1541, а для работы с сеансами — диапазон портов рабочих процессов.
Для журнала регистрации серверные права не нужны — достаточно учётной записи пользователя базы с правом на просмотр журнала. Это самый быстрый способ что-то увидеть, если доступа к консоли нет.
Выберите инструмент под задачу — не всегда нужна именно консоль:
rac на сервере — её вывод удобно собирать скриптом.Как открыть консоль администрирования кластера
Запустите оснастку из меню «Пуск». Откроется окно 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 в отдельный каталог. По этим записям видно и участников, и строки запросов.
Технологический журнал пишет много данных. Включайте его точечно, под конкретную проблему, с фильтром по нужным событиям, и выключайте после разбора — иначе он быстро забьёт диск.
Журнал регистрации: где искать события и ошибки
Журнал регистрации — это история всех действий в базе: входы, проведение документов, ошибки, изменения настроек. Открывается из программы: Все функции → Стандартные → Журнал регистрации.
Если команды Все функции в меню нет, включите её: Главное меню → Сервис → Параметры → отметить «Отображать команду Все функции». Из конфигуратора журнал открывается иначе — Администрирование → Журнал регистрации.
Главный инструмент здесь — отбор. Нажмите настройку отбора и задайте:
- Интервал — сузьте до нужных суток или часов, иначе журнал открывается долго.
- Важность —
Ошибка,Предупреждение,Информация,Примечание. Для разбора сбоя оставьте толькоОшибка. - Пользователь — чтобы увидеть действия конкретного сотрудника.
- Событие — например, только проведение или только удаление.
Физически журнал в 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 существует отдельный продукт — Центр контроля качества из корпоративного инструментального пакета; он не входит в поставку сервера и ставится отдельно.
Частые ошибки при подключении к монитору
Большинство проблем с открытием монитора — это не сбой базы, а несовпадение версий, прав или портов. Сверьтесь с типовыми ситуациями:
regsvr32 для radmin.dll из каталога bin установленного релиза.ragent либо закрыт порт 1540. Проверьте, что служба сервера 1С работает, и откройте порт в фаерволе.ras на порту 1545. Запустите его службой или демоном.Отдельно про версии: оснастка консоли и rac должны совпадать с версией сервера по номеру релиза — используйте номер не ниже установленного на сервере. Консоль от другой версии либо не подключится, либо покажет не все узлы.
Частые вопросы
Можно ли открыть монитор в файловой базе 1С?
Все функции. Блокировки там разбираются иначе, на уровне самой базы.Нужна ли отдельная лицензия для консоли или rac?
rac входят в поставку сервера 1С:Предприятие. Отдельных лицензий на мониторинг не требуется, достаточно лицензии на сервер.Чем «Активные пользователи» в программе отличаются от узла «Сеансы» в консоли?
Почему в консоли несколько рабочих процессов rphost?
rphost для устойчивости и баланса нагрузки. Это нормально. Их количество и границы памяти задаются в свойствах рабочего сервера, вручную завершать процессы без причины не нужно.