Журнал регистрации, технологический журнал и события ОС: где искать следы сбоя сервера 1С
Содержание
Посмотреть логи 1С на сервере можно в трёх местах. Журнал регистрации базы лежит в каталоге кластера srvinfo\reg_1541\<GUID базы>\1Cv8Log, а открывают его из самой программы: Администрирование → Поддержка и обслуживание → Журнал регистрации. Технологический журнал по умолчанию выключен — его включают файлом logcfg.xml. Третий источник — журнал событий операционной системы, куда пишет служба агента сервера.
Частое заблуждение: «у rphost есть свой лог, надо только найти папку». Постоянного текстового лога у рабочих процессов нет. Если технологический журнал не был настроен заранее, подробностей о падении rphost вчера ночью вы уже не увидите. Поэтому первое, что стоит сделать на любом сервере 1С, — включить минимальный техжурнал на исключения.
Где на диске лежат файлы логов сервера 1С
Все данные кластера хранятся в каталоге srvinfo. Его расположение задаётся при установке службы, но типовые пути такие:
| ОС | Каталог кластера по умолчанию |
|---|---|
| Windows | C:\Program Files\1cv8\srvinfo |
| Linux | /home/usr1cv8/.1cv8/1C/1cv8 |
Если сервер ставили не вы, проверьте параметры запуска службы. В Windows откройте свойства службы «Агент сервера 1С:Предприятия 8.3» и посмотрите строку запуска: каталог указан после ключа -d. В Linux каталог виден в unit-файле службы или в выводе ps aux | grep ragent.
Внутри srvinfo вас интересуют:
- 📁
reg_1541— реестр кластера (1541 — порт менеджера кластера; если порт другой, будет другое число); - 📁
reg_1541\<GUID>— папка каждой информационной базы, внутри1Cv8Logс журналом регистрации; - 📄
reg_1541\1CV8Clst.lst— список баз и настройки кластера, по нему GUID сопоставляют с именем базы.
Узнать GUID нужной базы проще всего в консоли кластера: откройте свойства базы — идентификатор указан там. Второй способ — открыть 1CV8Clst.lst в текстовом редакторе и найти имя базы: GUID стоит рядом.
Ничего не удаляйте и не правьте в srvinfo при работающей службе. Там же лежат папки snccntx* с сеансовыми данными и файлы реестра. Ошибка в них может остановить работу всех баз кластера.
Для файловой базы журнал регистрации хранится прямо в каталоге базы, в подпапке 1Cv8Log, рядом с 1Cv8.1CD.
Журнал регистрации информационной базы: как открыть и читать
Журнал регистрации — это лог уровня прикладной логики. Сюда попадают входы и выходы пользователей, запись и удаление объектов, ошибки фоновых и регламентных заданий, изменения конфигурации.
Форматы файлов
В папке 1Cv8Log вы увидите один из двух вариантов:
| Файлы | Формат | Что важно |
|---|---|---|
1Cv8.lgd | старый, одна база SQLite | неудобен для внешнего разбора, быстро растёт |
1Cv8.lgf + много *.lgp | последовательный (текстовый) | файлы .lgp нарезаются по периодам, их проще архивировать и парсить |
Файлы .lgp открываются блокнотом, но читать их напрямую неудобно: пользователи, компьютеры и события закодированы номерами, а расшифровка лежит в 1Cv8.lgf. Для ручного просмотра пользуйтесь штатными средствами.
Три способа открыть журнал
- В пользовательском режиме. В БП 3.0, ЗУП 3.1, УТ 11:
Администрирование → Поддержка и обслуживание → Журнал регистрации. Нужны права администратора. - В Конфигураторе. Меню
Администрирование → Журнал регистрации. Работает даже тогда, когда прикладная часть базы не запускается. - Через «Все функции».
Все функции → Стандартные → Журнал регистрации— если в меню конфигурации пункта нет.
Как быстро найти ошибку
Журнал за месяц на базе с 50 пользователями — сотни тысяч записей. Без отбора там ничего не найти:
- 🔴 Установите отбор по уровню «Ошибка» — останутся только сбои.
- 📅 Сузьте период до часа, когда случилась проблема.
- 👤 Добавьте отбор по пользователю или по событию, например «Фоновое задание» для регламентных заданий.
- 🔍 Откройте запись двойным щелчком: в комментарии будет полный текст исключения со стеком вызовов модулей.
Настройки хранения меняются в Конфигураторе: Администрирование → Настройка журнала регистрации. Там задают уровень регистрации и период разделения журнала, а кнопкой сокращения удаляют старые записи.
Уровень «Не регистрировать» отключает журнал полностью. После этого расследовать ошибки пользователей будет нечем — оставляйте как минимум «Регистрировать ошибки».
Журнал событий ОС: что пишет служба агента сервера
Когда не стартует сама служба, не поднимается кластер или рабочий процесс падает аварийно, журнал регистрации базы молчит. Смотрите журнал операционной системы.
Windows Server. Откройте eventvwr.msc → «Журналы Windows» → «Приложение». Отфильтруйте записи по источникам, в названии которых есть «1C». Там видны ошибки запуска агента, проблемы с лицензией сервера, аварийные завершения процессов ragent.exe, rmngr.exe, rphost.exe. В разделе «Система» ищите события диспетчера служб: остановку службы агента и её автоматический перезапуск.
Linux. Узнайте точное имя службы и выведите её лог:
systemctl list-units --type=service | grep -i 1c
journalctl -u <имя_службы> --since "2 hours ago"
Имя службы зависит от версии платформы и способа установки, поэтому сначала найдите его первой командой, а не угадывайте.
Если служба падает сразу после старта, причину почти всегда видно в последних строках journalctl или в событии «Приложение» в Windows: занятый порт, нет прав на каталог srvinfo, не найден ключ защиты.
Мониторинг кластера: консоль администрирования и rac
В описаниях этой темы иногда встречается «утилита csmon». В стандартном дистрибутиве сервера 1С 8.3 штатной утилиты с таким именем нет. Мониторинг кластера ведут двумя инструментами из поставки.
Консоль администрирования серверов 1С
Консоль подключается к агенту сервера (порт 1540) и показывает картину «здесь и сейчас»:
- 🖥 Рабочие процессы — PID каждого rphost, занятая память, число соединений, признак «Включён». По PID процесс находят в диспетчере задач или в
top. - 👥 Сеансы — кто подключён, к какой базе, через какой процесс, сколько времени сеанс занят вызовом.
- 🔒 Блокировки — какие объекты заблокированы и каким сеансом.
Отсюда же видно, какой процесс «распух»: если у одного rphost память в несколько раз больше, чем у соседей, в техжурнале стоит искать события LEAKS и EXCP именно в его папке.
Консольная утилита rac
На Linux-серверах без графики и для скриптов используют rac. Она работает через сервер администрирования ras, который по умолчанию слушает порт 1545. Запуск ras:
ras cluster --daemon
Базовые команды:
rac cluster list
rac process list --cluster=<uuid_кластера>
rac session list --cluster=<uuid_кластера>
rac session list --cluster=<uuid_кластера> --licenses
Первая команда даёт идентификатор кластера, остальные — процессы, сеансы и выданные лицензии. Полный список параметров смотрите в rac help и rac <режим> help.
Завершать сеанс или выключать рабочий процесс из консоли и rac можно, но у пользователей оборвётся работа, а несохранённые документы пропадут. Делайте это после предупреждения или вне рабочего времени.
Технологический журнал: логи rphost и rmngr
Технологический журнал (ТЖ) — главный источник для расследования падений, зависаний, взаимоблокировок и медленных запросов. Он пишется отдельно по каждому процессу: rphost, rmngr, ragent.
Где разместить logcfg.xml
Файл logcfg.xml кладут в каталог conf:
| ОС | Общий каталог для всех версий платформы |
|---|---|
| Windows | C:\Program Files\1cv8\conf\ |
| Linux | /opt/1cv8/conf/ |
Перезапуск службы не нужен: платформа периодически перечитывает файл, изменения подхватываются примерно в течение минуты.
Минимальная рабочая настройка
Конфигурация для постоянной работы: только исключения и аварийные события, хранение — 48 часов.
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="D:\techlog\errors" history="48">
<event>
<eq property="name" value="EXCP"/>
</event>
<event>
<eq property="name" value="QERR"/>
</event>
<event>
<eq property="name" value="TDEADLOCK"/>
</event>
<property name="all"/>
</log>
</config>
Атрибут history задаёт срок хранения в часах. На Linux укажите путь вида /var/log/1c/techlog/errors и выдайте права записи пользователю usr1cv8. В Windows такие же права нужны учётной записи, от которой работает служба агента (часто USR1CV8). Без прав каталог останется пустым, а ошибок вы не увидите.
Не включайте все события без отбора на рабочем сервере — за час журнал может занять десятки гигабайт и забить диск. Подробные события (DBMSSQL, CALL, TLOCK) включают точечно, на время расследования, с отбором по базе и длительности.
Как устроены файлы
После включения в каталоге появятся папки по процессам: rphost_4120, rmngr_2236, ragent_1964. Число в имени — PID процесса. Внутри — файлы по часам с именем ГГММДДЧЧ.log, например 26100714.log — 7 октября 2026 года, 14 часов.
Каждая строка начинается так: минуты и секунды с долями, через дефис длительность, затем имя события и свойства через запятую. Ключевые события:
| Событие | Что означает |
|---|---|
EXCP | исключение в процессе: текст ошибки, иногда стек |
QERR | ошибка компиляции запроса |
TDEADLOCK | взаимоблокировка на управляемых блокировках |
TTIMEOUT | превышено время ожидания блокировки |
LEAKS | утечки памяти в коде конфигурации |
PROC | старт и завершение процессов кластера |
CONN | установка и разрыв соединений |
Как разобраться с падением rphost
- Посмотрите в консоли или журнале ОС, во сколько упал процесс и какой у него был PID.
- Откройте папку
rphost_<PID>и файл за нужный час. - Ищите последние
EXCPперед моментом падения. - Сопоставьте свойства события (база, пользователь, контекст) с записями журнала регистрации этой базы за ту же минуту.
Для аварий без внятного EXCP добавьте в logcfg.xml создание дампов процесса элементом <dump> с указанием каталога. Дамп понадобится, если обращаться в поддержку или к партнёру.
Автоматический сбор и разбор логов сервера 1С
Смотреть логи руками удобно один раз. Если сервер обслуживает 10–20 баз, разбор нужно поставить на поток.
Быстрый поиск по техжурналу из командной строки
Linux — все исключения за сегодня по всем процессам:
grep -h ",EXCP," /var/log/1c/techlog/errors/rphost_*/$(date +%y%m%d)*.log | tail -n 50
Windows, PowerShell — подсчёт взаимоблокировок по файлам:
Get-ChildItem D:\techlog\errors -Recurse -Filter *.log |
Select-String ",TDEADLOCK," |
Group-Object Filename | Sort-Object Count -Descending
Событие в техжурнале может занимать несколько строк: многострочный текст запроса или стек вызовов переносится. Для точных отчётов используйте парсер, который склеивает строки по шаблону начала события ^\d\d:\d\d\.\d+-.
Выгрузка журнала регистрации по расписанию
Журнал регистрации можно выгружать программно — например, регламентным заданием или внешней обработкой. Метод платформы ВыгрузитьЖурналРегистрации пишет записи в XML-файл или таблицу значений с отбором:
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", НачалоДня(ТекущаяДата()) - 86400);
Отбор.Вставить("ДатаОкончания", НачалоДня(ТекущаяДата()) - 1);
Отбор.Вставить("Уровень", УровеньЖурналаРегистрации.Ошибка);
ВыгрузитьЖурналРегистрации("D:\logs\errors_yesterday.xml", Отбор);
Пример выгружает ошибки за вчерашний день. Файл можно отправить почтой администратору или забрать в систему сбора логов.
Централизованное хранение
Для нескольких серверов файлы техжурнала и .lgp собирают агентом сбора логов в общую систему: Graylog, ELK, ClickHouse с визуализацией. Порядок такой:
- 📦 агент читает папку техжурнала и
1Cv8Log; - 🧩 парсер разбивает строку события на поля: время, длительность, событие, процесс, база;
- 📊 в системе настраивают дашборд по
EXCPиTDEADLOCKи оповещение при всплеске.
Частые ошибки при работе с логами 1С
- ❌ Ищут лог в каталоге установки платформы (
bin). Журнал регистрации лежит вsrvinfo, а техжурнал — там, куда указали вlogcfg.xml. - ❌ Кладут logcfg.xml не в тот каталог или с ошибкой в XML. Одна незакрытая скобка — и журнал не пишется без всяких сообщений. Проверьте файл любым XML-валидатором.
- ❌ Указывают каталог без прав записи для учётной записи службы. Папки процессов не создаются.
- ❌ Оставляют подробный техжурнал включённым после расследования. Через сутки на диске нет места, и если там же лежат базы СУБД или
srvinfo, встаёт весь сервер. - ❌ Копируют журнал регистрации «на лету» из
1Cv8Logи удивляются, что копия не открывается. Для анализа надёжнее выгрузка штатными средствами.
Частые вопросы
Можно ли посмотреть журнал регистрации серверной базы без запуска 1С?
1Cv8Log копией из srvinfo и откройте журнал в Конфигураторе этой базы. Для последовательного формата копируйте и .lgf, и все .lgp.Почему журнал регистрации занимает десятки гигабайт?
Влияет ли технологический журнал на скорость сервера?
DBMSSQL и CALL без отбора заметно нагружает диск и процессор, поэтому его включают на короткое время.