К статье
Практический материал

Администрирование · 11 мин

Как включить технологический журнал на сервере 1С

Пошаговая инструкция по включению технологического журнала 1С на сервере: настройка logcfg.xml, выбор событий, каталогов и проверка сбора логов.

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

Включение сводится к созданию файла logcfg.xml в специальном каталоге conf сервера 1С. В этом файле описывается, какие события фиксировать, куда складывать логи и как долго их хранить. Никаких настроек в консоли кластера для этого не предусмотрено — вся конфигурация выполняется только через XML-файл.

Перед началом работы определите разрядность и версию платформы, а также каталог установки сервера 1С. Для Windows это обычно C:\Program Files\1cv8\<версия>\bin\conf, для Linux — /opt/1cv8/x86_64/<версия>/conf либо каталог, указанный при установке. Понадобятся права администратора на сервере и возможность создать каталог для логов на диске с достаточным свободным местом.

Что такое технологический журнал и когда он нужен

Технологический журнал — это текстовые логи, которые процессы платформы (ragent, rmngr, rphost) пишут по заданным правилам. Каждый процесс ведёт свой подкаталог внутри общего каталога логов, а события записываются с точностью до микросекунд. Это позволяет восстановить последовательность действий сервера при расследовании инцидентов.

Типовые сценарии, когда без ТЖ не обойтись: поиск причин медленных запросов к СУБД, анализ взаимоблокировок, диагностика ошибок «превышен таймаут», расследование аварийного завершения рабочих процессов, поиск источника избыточной нагрузки. Включать журнал «на всякий случай» с полным набором событий не стоит — объём логов может расти очень быстро и исчерпать дисковое пространство.

Куда помещать файл logcfg.xml

Файл logcfg.xml должен лежать в каталоге conf внутри каталога установки сервера 1С. Для Windows типичный путь выглядит так: C:\Program Files\1cv8\8.3.22.1750\bin\conf\logcfg.xml (номер версии подставьте свой). Для Linux — /opt/1cv8/x86_64/8.3.22.1750/conf/logcfg.xml.

Если на сервере установлено несколько версий платформы и кластер работает на одной из них, файл нужно разместить в каталоге conf именно той версии, под которой запущены процессы сервера. Определить версию можно по пути исполняемого файла службы агента сервера в диспетчере задач или через свойства службы.

На Linux убедитесь, что пользователь, под которым работает сервер 1С (обычно usr1cv8), имеет право чтения файла logcfg.xml и право записи в каталог логов. Иначе журнал молча не заработает, и вы потратите время на поиск несуществующей ошибки в XML.

Минимальная конфигурация: пример logcfg.xml

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

xml
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="D:\1clogs" history="72">
    <event><eq property="name" value="EXCP"/></event>
    <event><eq property="name" value="TDEADLOCK"/></event>
    <event><eq property="name" value="TLOCK"/></event>
    <event><eq property="name" value="TTIMEOUT"/></event>
    <property name="all"/>
  </log>
</config>

Разберём параметры. Атрибут location задаёт каталог логов, history — срок хранения в часах (72 часа = 3 суток). Внутри тега event перечисляются события: EXCP — исключения и ошибки, TDEADLOCK — взаимоблокировки, TTIMEOUT — таймауты, TLOCK — управляемые блокировки. Тег property со значением all включает запись всех свойств событий.

Для анализа медленных запросов добавьте события DBMSSQL (или DBPOSTGRS, DBORACLE в зависимости от СУБД) с фильтром по длительности. Например, событие DBMSSQL в паре с событием EXCP и свойством duration позволяет фиксировать только запросы дольше заданного порога — для этого используется условие вида <gt property="duration" value="10000000"/> (длительность указывается в микросекундах, 10 000 000 = 10 секунд).

Порядок включения журнала
  1. 1
    Определите каталог установки работающей версии сервера 1С
  2. 2
    Создайте каталог для логов на диске с запасом свободного места
  3. 3
    Создайте logcfg.xml в подкаталоге conf и заполните список событий
  4. 4
    Проверьте права: чтение файла и запись в каталог логов для учётной записи службы
  5. 5
    Подождите 1–2 минуты и убедитесь, что в каталоге логов появились подкаталоги процессов
  6. 6
    Воспроизведите проблемную операцию и проверьте, что события записались

Настройка под конкретную задачу

Диагностика медленной работы

Включайте события DBMSSQL (запросы к MS SQL Server), SCALL и CALL (вызовы), EXCP и обязательно ограничивайте по длительности, иначе объём логов будет огромным. Практичный подход — писать только обращения к СУБД дольше 5–10 секунд. После сбора данных за период жалоб пользователей логи анализируют вручную или специализированными инструментами разбора ТЖ.

Расследование аварийного завершения rphost

Добавьте событие PROC (старт и завершение процессов) и EXCP, а также убедитесь, что включено формирование дампов: за это отвечает отдельная настройка в том же logcfg.xml — элемент dump с атрибутом location и типом дампа. Дампы аварийного завершения складываются в указанный каталог и вместе с логами дают полную картину сбоя.

Анализ блокировок

Для блокировок достаточно событий TDEADLOCK, TTIMEOUT и TLOCK. Событие TLOCK пишется часто, поэтому включайте его на ограниченное время — например, на период воспроизведения проблемы, а затем убирайте из конфигурации.

Маршрут решения

Как выбрать набор событий

Пользователи жалуются на медленную работуВключите DBMSSQL (или событие вашей СУБД) с фильтром по длительности и EXCP
Рабочие процессы падают или перезапускаютсяВключите EXCP, PROC и настройте запись дампов
Возникают ошибки блокировок и таймаутовВключите TDEADLOCK, TTIMEOUT и временно TLOCK
Нужна полная картина на коротком интервалеВключите широкий набор событий на 15–30 минут, затем сузьте конфигурацию

Проверка, что журнал заработал

Через пару минут после сохранения файла загляните в каталог логов. Внутри должны появиться подкаталоги с именами процессов — ragent, rmngr, rphost_, а в них — файлы вида ГГММДДЧЧ.log. Если каталоги есть, а файлы пустые — события, заданные фильтром, просто ещё не происходили.

Для проверки спровоцируйте событие: выполните в базе операцию, которая гарантированно даст запись (например, длительный запрос, если включён фильтр по DBMSSQL с низким порогом). Откройте свежий лог текстовым редактором и найдите строку с нужным событием. Формат строки: время с микросекундами, длительность, имя события, процесс и свойства через запятую.

Контрольные точки

Как проверить результат

Каталог логов
Норма

Появились подкаталоги ragent, rmngr, rphost_* с файлами .log

Тревожный признак

Каталог пуст спустя 5 минут — проверьте путь, права и синтаксис XML

Содержимое логов
Норма

Строки с временными метками и именами заданных событий

Тревожный признак

Файлы есть, но пустые при явном воспроизведении события — проверьте фильтры

Свободное место на диске
Норма

Рост логов предсказуемый, место не заканчивается

Тревожный признак

Диск заполняется быстро — сузьте события или уменьшите history

Типичные ошибки и ограничения

Самая частая причина «неработающего» журнала — файл размещён не в том каталоге conf (например, в каталоге другой версии платформы) или назван с ошибкой (logcfg.xml.txt при скрытых расширениях в Проводнике). Вторая по частоте — ошибка в XML: незакрытый тег или неверный регистр имени события, из-за чего платформа игнорирует файл целиком.

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

Типичные ошибки
01
Файл положен в conf версии платформы, которая не запущена — логи не появляются
02
Имя файла сохранено как logcfg.xml.txt из-за скрытых расширений Windows — платформа его не видит
03
Нет прав на запись в каталог логов у учётной записи службы 1С — сбор молча не работает
04
Включены все события без фильтров — диск заполняется, сервер деградирует
05
После сбора данных журнал не отключили — логи копятся месяцами

После завершения диагностики не забудьте убрать или закомментировать лишние события в logcfg.xml, оставив минимальный набор (например, только EXCP) либо удалив файл полностью. Это снимет лишнюю нагрузку на дисковую подсистему сервера.

Итог

Что важно запомнить

Технологический журнал включается файлом logcfg.xml в каталоге conf работающей версии сервера 1С, применяется без перезапуска служб, требует корректных путей, прав и осмысленного набора событий с контролем места на диске.

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

Нужно ли перезапускать сервер 1С после создания logcfg.xml?

Нет. Платформа периодически проверяет наличие и содержимое файла и применяет настройки автоматически, обычно в течение минуты. Если логи не появились через 5 минут, проблема в пути, правах или синтаксисе XML, а не в необходимости перезапуска.

Как включить журнал только для одной информационной базы?

В logcfg.xml доступны условия по свойствам событий, включая имя базы. Добавьте внутрь события условие вида <eq property="p:processName" value="ИмяБазы"/> — тогда в лог будут попадать события только этой базы. Точное имя свойства зависит от типа события, проверяйте по уже записанным строкам лога.

Где искать логи, если каталог пуст?

Проверьте три вещи: файл лежит в conf той версии платформы, которая реально запущена; имя файла — ровно logcfg.xml без лишнего расширения; учётная запись службы сервера 1С имеет права на чтение файла и запись в каталог логов. Также убедитесь, что XML валиден — откройте файл в браузере, он покажет ошибку разбора.

Сколько места на диске резервировать под логи?

Зависит от нагрузки и набора событий. Минимальный набор (EXCP, TDEADLOCK, TTIMEOUT) на средней базе занимает немного, а полный сбор DBMSSQL без фильтров может писать десятки гигабайт в сутки. Начните с узкого набора, понаблюдайте за ростом первые часы и задайте history так, чтобы логи гарантированно помещались на диске с запасом.

Можно ли анализировать технологический журнал автоматически?

Да. Существуют инструменты разбора ТЖ, которые группируют события, строят топ длительных запросов и выявляют блокировки. Для разового анализа достаточно текстового редактора с поиском по имени события, для регулярной диагностики удобнее специализированные утилиты или загрузка логов в аналитические системы.

Влияет ли включённый журнал на производительность сервера?

Минимальный набор событий с фильтрами влияет незаметно. Снижение производительности возможно при сборе частых событий (CALL, DBMSSQL без порога длительности) из-за интенсивной записи на диск. Поэтому широкий сбор включайте только на время воспроизведения проблемы.