Как правильно настроить технологический журнал 1С для поиска ошибок и зависаний

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Технологический журнал (ТЖ) — это штатный низкоуровневый инструмент платформы «1С:Предприятие», позволяющий фиксировать системные события, ошибки, аварийные падения рабочих процессов, блокировки и длительные запросы к СУБД. Разберем по шагам, как корректно создать конфигурационный файл, какие события отслеживать и как избежать типовых ошибок при сборе логов.

Шаг 1. Размещение и базовый синтаксис файла logcfg.xml

Для включения технологического журнала на сервере или рабочей станции создадим файл logcfg.xml в системном каталоге настроек платформы. По умолчанию на 64-разрядной операционной системе Windows конфигурационный каталог расположен по пути C:\Program Files\1cv8\conf\ (или C:\Program Files (x86)\1cv8\conf\ для 32-разрядных процессов).

Важно: синтаксис XML строго проверяется платформой. Любой лишний символ (например, лишняя точка с запятой внутри кавычек или тегов), неверный регистр тегов или нарушение схемы XML приведут к тому, что платформа проигнорирует настройки, и файлы логов не будут создаваться.

Рассмотрим пример базовой конфигурации для сбора критических ошибок и аварийных завершений процессов:


<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <dump location="C:\v8logs\dumps" create="1" type="3"/>
  <log location="C:\v8logs\logs" history="24">
    <event>
      <eq property="Name" value="EXCP"/>
    </event>
    <event>
      <eq property="Name" value="PROC"/>
    </event>
    <event>
      <eq property="Name" value="SRVC"/>
    </event>
    <event>
      <eq property="Name" value="CONN"/>
    </event>
    <property name="all"/>
  </log>
</config>

Проанализируем ключевые атрибуты конфигурации:

  1. location — каталог для сохранения логов и дампов. Папка должна существовать заранее.
  2. history — срок хранения файлов журнала в часах. По истечении этого времени платформа автоматически удаляет устаревшие файлы.
  3. type в теге dump — тип создаваемого дампа памяти при аварии (значение 3 формирует компактный мини-дамп, что экономит место на диске).

Шаг 2. Назначение прав доступа к каталогам логов

Если после размещения файла logcfg.xml папки с логами не создаются или формируются пустыми, выясним причину с правами доступа. Серверные процессы ragent, rmngr и rphost выполняются от имени специальной системной учетной записи службы (по умолчанию USR1CV8).

Настроим права по следующей схеме:

  1. Откроем свойства целевой папки с логами (например, C:\v8logs).
  2. Перейдем на вкладку Безопасность и добавим пользователя службы сервера 1С (USR1CV8).
  3. Предоставим полные права (Полный доступ: чтение, запись, изменение, удаление файлов).

После сохранения файла конфигурации и установки прав платформа применяет настройки технологического журнала «на лету» в течение 1 минуты без необходимости перезапуска службы 1С.

Шаг 3. Справочник ключевых событий технологического журнала

Для тонкой настройки логирования разберем основные события, поддерживаемые платформой:

  1. EXCP — исключительные ситуации и нештатные ошибки в коде или серверных процессах.
  2. EXCPCNTX — контекст исполнения в момент возникновения нештатной ситуации (позволяет получить стек вызовов процедур и функций).
  3. PROC — события жизненного цикла процессов кластера (старт, плановая остановка, аварийное завершение).
  4. CONN — установка и разрыв сетевых TCP-соединений между клиентскими и серверными компонентами.
  5. CALL / SCALL — входящие и исходящие удаленные вызовы между клиентом и сервером.
  6. TLOCK, TTIMEOUT, TDEADLOCK — события управляемых блокировок, превышения времени ожидания и обнаружения взаимоблокировок.
  7. MEM / LEAKS — мониторинг выделения оперативной памяти процессами кластера и фиксация потенциальных утечек памяти.
  8. DBMSSQL — запросы к СУБД MS SQL Server.

Шаг 4. Настройка журнала для диагностики зависаний и долгих вызовов

Сбор всех событий подряд с параметром property name="all" создает экстремальную нагрузку на дисковую подсистему и может только усилить «зависания» базы. Чтобы выявить реальные причины медленной работы, применим фильтрацию по длительности (Duration). Единица измерения длительности в технологическом журнале — микросекунды (1 секунда = 1 000 000 микросекунд).

Посмотрим на пример конфигурации для отслеживания вызовов и запросов к базе, длящихся дольше 5 секунд:


<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="C:\v8logs\slow_calls" history="12">
    <event>
      <eq property="Name" value="CALL"/>
      <ge property="Duration" value="5000000"/>
    </event>
    <event>
      <eq property="Name" value="DBMSSQL"/>
      <ge property="Duration" value="5000000"/>
    </event>
    <event>
      <eq property="Name" value="EXCP"/>
    </event>
    <property name="Context"/>
    <property name="Descr"/>
    <property name="Sql"/>
    <property name="p:processName"/>
  </log>
</config>

Включение свойства Context критически важно: именно оно записывает в лог точный путь по коду конфигурации 1С (модуль и номер строки), на котором произошла задержка или сбой.

Шаг 5. Анализ частых ошибок в логах ТЖ

Разберем типовую ошибку сетевого взаимодействия, которая часто появляется в ТЖ:


EXCP,1,process=ragent,ClientID=5286,Exception=NetDataExchangeException,Descr='server_addr=tcp://server:1541 descr=10054(0x00002746): Удаленный хост принудительно разорвал существующее подключение'

Проанализируем возможные причины ошибки 10054:

  1. Аварийное завершение процесса rphost: Если рабочий процесс падает из-за нехватки оперативной памяти или ошибки Access Violation, сетевой сокет моментально закрывается, и менеджер кластера фиксирует принудительный разрыв со стороны удаленного хоста.
  2. Сетевые оптимизации ОС: Аппаратные механизмы разгрузки на сетевой карте (например, Large Send Offload / TCP Offload Engine) могут приводить к сбросу TCP-пакетов под высокой нагрузкой.
  3. Срабатывание антивируса или брандмауэра: Блокировка динамических портов между службами ragent, rmngr и rphost.

Шаг 6. Использование специализированных обработок

Если ручное редактирование XML вызывает сложности, используем готовые инструменты от фирмы 1С и сообщества:

  1. Внешняя обработка «НастройкаТехнологическогоЖурнала.epf» с диска ИТС (доступна в вариантах для обычных и управляемых форм). Она предоставляет графический интерфейс для генерации файла logcfg.xml с нужными фильтрами.
  2. Обработка «ПросмотрТехнологическогоЖурнала.epf» для парсинга и визуализации накопленных файлов логов.
  3. Обработки из состава «Портативных инструментов разработчика» для автоматизированного анализа тяжелых запросов и блокировок.
← На главную