Журнал регистрации, технологический журнал и события ОС: где искать следы сбоя сервера 1С

· 10 мин

Содержание

Посмотреть логи 1С на сервере можно в трёх местах. Журнал регистрации базы лежит в каталоге кластера srvinfo\reg_1541\<GUID базы>\1Cv8Log, а открывают его из самой программы: Администрирование → Поддержка и обслуживание → Журнал регистрации. Технологический журнал по умолчанию выключен — его включают файлом logcfg.xml. Третий источник — журнал событий операционной системы, куда пишет служба агента сервера.

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

Где на диске лежат файлы логов сервера 1С

Все данные кластера хранятся в каталоге srvinfo. Его расположение задаётся при установке службы, но типовые пути такие:

ОСКаталог кластера по умолчанию
WindowsC:\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. Для ручного просмотра пользуйтесь штатными средствами.

Три способа открыть журнал

  1. В пользовательском режиме. В БП 3.0, ЗУП 3.1, УТ 11: Администрирование → Поддержка и обслуживание → Журнал регистрации. Нужны права администратора.
  2. В Конфигураторе. Меню Администрирование → Журнал регистрации. Работает даже тогда, когда прикладная часть базы не запускается.
  3. Через «Все функции». Все функции → Стандартные → Журнал регистрации — если в меню конфигурации пункта нет.

Как быстро найти ошибку

Журнал за месяц на базе с 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:

ОСОбщий каталог для всех версий платформы
WindowsC:\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

  1. Посмотрите в консоли или журнале ОС, во сколько упал процесс и какой у него был PID.
  2. Откройте папку rphost_<PID> и файл за нужный час.
  3. Ищите последние EXCP перед моментом падения.
  4. Сопоставьте свойства события (база, пользователь, контекст) с записями журнала регистрации этой базы за ту же минуту.

Для аварий без внятного 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С?

Частые ошибки при работе с логами 1С

  • ❌ Ищут лог в каталоге установки платформы (bin). Журнал регистрации лежит в srvinfo, а техжурнал — там, куда указали в logcfg.xml.
  • ❌ Кладут logcfg.xml не в тот каталог или с ошибкой в XML. Одна незакрытая скобка — и журнал не пишется без всяких сообщений. Проверьте файл любым XML-валидатором.
  • ❌ Указывают каталог без прав записи для учётной записи службы. Папки процессов не создаются.
  • ❌ Оставляют подробный техжурнал включённым после расследования. Через сутки на диске нет места, и если там же лежат базы СУБД или srvinfo, встаёт весь сервер.
  • ❌ Копируют журнал регистрации «на лету» из 1Cv8Log и удивляются, что копия не открывается. Для анализа надёжнее выгрузка штатными средствами.

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

Можно ли посмотреть журнал регистрации серверной базы без запуска 1С?
Да. Создайте пустую файловую базу на той же версии платформы, замените её папку 1Cv8Log копией из srvinfo и откройте журнал в Конфигураторе этой базы. Для последовательного формата копируйте и .lgf, и все .lgp.
Почему журнал регистрации занимает десятки гигабайт?
Обычно включён уровень «Регистрировать все события» и журнал не сокращается. Снизьте уровень до ошибок и предупреждений, задайте разделение по периодам и удаляйте старые записи с предварительной выгрузкой в архив.
Влияет ли технологический журнал на скорость сервера?
Журнал на исключения нагрузку почти не даёт. Сбор всех событий DBMSSQL и CALL без отбора заметно нагружает диск и процессор, поэтому его включают на короткое время.
Где искать логи, если используется сервер на Linux в Docker?
Каталог кластера и папку техжурнала нужно вынести в смонтированные тома. Иначе после пересоздания контейнера логи пропадут вместе с ним.
Как понять, какой rphost обслуживает нужную базу?
В консоли кластера откройте список сеансов базы: у каждого указан рабочий процесс. В техжурнале у событий есть свойство с именем базы, по нему удобно фильтровать.