Администрирование · 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С.
<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С
- 2Создайте каталог для логов на диске с запасом свободного места
- 3Создайте logcfg.xml в подкаталоге conf и заполните список событий
- 4Проверьте права: чтение файла и запись в каталог логов для учётной записи службы
- 5Подождите 1–2 минуты и убедитесь, что в каталоге логов появились подкаталоги процессов
- 6Воспроизведите проблемную операцию и проверьте, что события записались
Настройка под конкретную задачу
Диагностика медленной работы
Включайте события DBMSSQL (запросы к MS SQL Server), SCALL и CALL (вызовы), EXCP и обязательно ограничивайте по длительности, иначе объём логов будет огромным. Практичный подход — писать только обращения к СУБД дольше 5–10 секунд. После сбора данных за период жалоб пользователей логи анализируют вручную или специализированными инструментами разбора ТЖ.
Расследование аварийного завершения rphost
Добавьте событие PROC (старт и завершение процессов) и EXCP, а также убедитесь, что включено формирование дампов: за это отвечает отдельная настройка в том же logcfg.xml — элемент dump с атрибутом location и типом дампа. Дампы аварийного завершения складываются в указанный каталог и вместе с логами дают полную картину сбоя.
Анализ блокировок
Для блокировок достаточно событий TDEADLOCK, TTIMEOUT и TLOCK. Событие TLOCK пишется часто, поэтому включайте его на ограниченное время — например, на период воспроизведения проблемы, а затем убирайте из конфигурации.
Как выбрать набор событий
Проверка, что журнал заработал
Через пару минут после сохранения файла загляните в каталог логов. Внутри должны появиться подкаталоги с именами процессов — ragent, rmngr, rphost_, а в них — файлы вида ГГММДДЧЧ.log. Если каталоги есть, а файлы пустые — события, заданные фильтром, просто ещё не происходили.
Для проверки спровоцируйте событие: выполните в базе операцию, которая гарантированно даст запись (например, длительный запрос, если включён фильтр по DBMSSQL с низким порогом). Откройте свежий лог текстовым редактором и найдите строку с нужным событием. Формат строки: время с микросекундами, длительность, имя события, процесс и свойства через запятую.
Как проверить результат
Появились подкаталоги ragent, rmngr, rphost_* с файлами .log
Каталог пуст спустя 5 минут — проверьте путь, права и синтаксис XML
Строки с временными метками и именами заданных событий
Файлы есть, но пустые при явном воспроизведении события — проверьте фильтры
Рост логов предсказуемый, место не заканчивается
Диск заполняется быстро — сузьте события или уменьшите history
Типичные ошибки и ограничения
Самая частая причина «неработающего» журнала — файл размещён не в том каталоге conf (например, в каталоге другой версии платформы) или назван с ошибкой (logcfg.xml.txt при скрытых расширениях в Проводнике). Вторая по частоте — ошибка в XML: незакрытый тег или неверный регистр имени события, из-за чего платформа игнорирует файл целиком.
Помните про дисковое пространство: на нагруженном сервере полный сбор событий DBMSSQL без фильтра по длительности пишет гигабайты в час. Всегда задавайте history и следите за каталогом логов в первые часы после включения. Также учитывайте, что ТЖ фиксирует события на уровне платформы — ошибки прикладного кода, не дошедшие до исключения, в нём не отразятся.
После завершения диагностики не забудьте убрать или закомментировать лишние события в 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 без порога длительности) из-за интенсивной записи на диск. Поэтому широкий сбор включайте только на время воспроизведения проблемы.