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

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

Как запустить технологический анализ в 1С

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

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

Подход одинаков для файлового и клиент-серверного режимов, но различается расположение настроек и объём доступных событий. На сервере 1С:Предприятия журнал ведётся на каждом рабочем процессе, поэтому файлы логов могут быть объёмными — это нужно учитывать при выборе каталога хранения и глубины сбора.

Ниже разобран полный цикл: подготовка, включение сбора, настройка фильтров под конкретную задачу, анализ результатов и отключение журнала после диагностики. Отдельно описаны типичные ошибки, из-за которых логи либо не пишутся, либо заполняют диск.

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

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

Журнал включают не «на всякий случай», а под конкретную задачу: диагностика ошибки у пользователя, поиск медленного запроса, расследование взаимоблокировок, анализ аварийного завершения рабочего процесса. Постоянно держать полный сбор включённым не стоит: на нагруженных системах логи растут быстро и сами могут снизить производительность дисковой подсистемы.

Подготовка: что проверить перед включением

Перед настройкой убедитесь, что у вас есть права администратора на сервере или компьютере, где работает платформа. Для клиент-серверного режима потребуется доступ к серверу 1С и, при анализе запросов, желательно доступ к СУБД. Также определите, где именно возникает проблема: на стороне клиента, сервера приложений или СУБД — от этого зависит, где размещать конфигурацию.

Подготовьте отдельный каталог для логов на диске с достаточным свободным местом. Не размещайте его на системном диске сервера: при активном сборе журнал может заполнить диск и остановить работу не только 1С, но и операционной системы. Учётная запись службы агента сервера 1С должна иметь право записи в этот каталог.

Включение журнала через logcfg.xml

Основной способ включения — файл logcfg.xml. Для серверного сбора его размещают в каталоге conf внутри каталога установки платформы на сервере (например, в подкаталоге srvinfo для агента сервера) либо в каталоге conf конкретной версии платформы. Для клиентского приложения файл кладётся в каталог conf той версии платформы, под которой запущен клиент.

Минимальная конфигурация задаёт каталог логов и список событий. Пример для сбора ошибок и событий СУБД:

xml
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="D:\tjlogs" history="24">
    <event><eq property="name" value="EXCP"/></event>
    <event><eq property="name" value="DBMSSQL"/></event>
    <property name="all"/>
  </log>
</config>

Параметр history задаёт глубину хранения логов в часах — старые файлы платформа удаляет автоматически. Это ключевая защита от переполнения диска: всегда устанавливайте разумное значение, а не бесконечное хранение. После создания или изменения файла перезапустите службу агента сервера 1С (или клиентское приложение), чтобы конфигурация применилась.

Порядок действий
  1. 1
    Создайте каталог для логов на диске с запасом свободного места и дайте туда права записи службе 1С
  2. 2
    Создайте файл logcfg.xml с указанием каталога, глубины хранения и нужных событий
  3. 3
    Разместите файл в каталоге conf платформы на сервере или у клиента
  4. 4
    Перезапустите службу агента сервера 1С или клиентское приложение
  5. 5
    Воспроизведите проблему и проверьте, что в каталоге появились файлы логов

Настройка фильтров под конкретную задачу

Полный сбор всех событий почти никогда не нужен. Фильтры в logcfg.xml позволяют ограничить запись по типу события, длительности, пользователю, имени информационной базы и другим свойствам. Это снижает объём логов и упрощает анализ.

Типовые сценарии фильтрации:

  • Медленные запросы — события DBMSSQL (или DBPOSTGRS, DBORACLE) с условием по длительности, например duration больше заданного порога в микросекундах.
  • Ошибки пользователей — события EXCP с фильтром по имени пользователя или по фрагменту текста ошибки.
  • Взаимоблокировки — события TDEADLOCK и TLOCK, собираемые на сервере в момент возникновения проблемы.
  • Аварийные завершения — события PROC, EXCP и системные события, плюс дампы, если они настроены отдельно.
Маршрут решения

Как выбрать действие

Пользователи жалуются на медленную работу конкретной операцииВключите сбор DBMSSQL с порогом длительности и воспроизведите операцию
В журнале регистрации есть ошибки без понятной причиныСоберите события EXCP и CALL с полными свойствами на время воспроизведения
Периодически возникают конфликты блокировокВключите события TLOCK и TDEADLOCK на сервере и сопоставьте их с журналом регистрации
Рабочий процесс сервера аварийно завершаетсяВключите широкий сбор событий процесса и проверьте системные логи и дампы

Анализ собранных логов

Логи технологического журнала хранятся в каталогах по именам процессов; внутри — текстовые файлы с временными метками в имени. Формат строки: длительность, тип события, затем пары «свойство=значение». Для небольших объёмов достаточно текстового редактора с поиском, для больших удобнее специализированные инструменты.

На практике применяют несколько подходов:

  • ручной разбор файлов поиском по типу события и тексту ошибки;
  • консольные утилиты и скрипты для агрегации длительных запросов;
  • специализированные инструменты экосистемы 1С (например, консоли анализа ТЖ и инструменты на базе EDT), которые группируют события и показывают самые тяжёлые запросы и контексты.

Ключевой приём — сопоставление событий ТЖ с журналом регистрации и временем жалобы пользователя. Сначала находите момент проблемы, затем смотрите события в окрестности этой метки времени: какой запрос выполнялся, сколько длился, какие блокировки устанавливались.

Перед воспроизведением проблемы зафиксируйте точное время начала и окончания операции по часам сервера. Это сократит объём просматриваемых логов в разы, особенно если сбор шёл на нагруженной системе.
ПЗ
Практическое замечание

Проверка результата и завершение сбора

После включения журнала сразу проверьте, что сбор реально работает: в указанном каталоге должны появиться подкаталоги процессов и файлы логов. Если каталог пуст — чаще всего logcfg.xml лежит не в том месте, содержит синтаксическую ошибку в XML или служба не была перезапущена.

Когда диагностика завершена, отключите или сократите сбор: удалите файл logcfg.xml либо оставьте только минимальный набор событий (например, EXCP) с короткой глубиной хранения. После этого снова перезапустите службу. Оставленный широкий сбор — самая частая причина переполненных дисков на серверах 1С.

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

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

Наличие файлов в каталоге логов
Норма

Появились подкаталоги процессов и файлы с метками времени

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

Каталог пуст после воспроизведения проблемы

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

Есть события нужных типов с ожидаемыми свойствами

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

Файлы есть, но нужных событий нет — неверный фильтр

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

Объём логов растёт умеренно, старые удаляются по history

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

Диск заполняется быстро, глубина хранения не задана

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

Большинство проблем с технологическим журналом связаны не с платформой, а с настройкой окружения. Знание типовых ошибок экономит часы диагностики.

Типичные ошибки
01
Файл logcfg.xml размещён не в том каталоге — платформа его не читает, сбор не начинается
02
Синтаксическая ошибка в XML — конфигурация игнорируется целиком без явного сообщения
03
Не перезапущена служба агента сервера после изменения конфигурации — старые настройки продолжают действовать
04
Сбор включён без параметра history — логи копятся до заполнения диска
05
Собираются все события без фильтров на нагруженной системе — лишняя нагрузка на диск и гигабайты малополезных данных
06
Анализ без привязки ко времени проблемы — поиск нужного события среди тысяч строк занимает часы

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

Итог

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

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

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

Где именно должен лежать logcfg.xml?

Для сервера 1С — в каталоге conf внутри каталога установки платформы на сервере (для отдельных процессов возможны свои каталоги, например srvinfo у агента). Для клиентского приложения — в каталоге conf той версии платформы, под которой оно запущено. Точный путь зависит от версии платформы и ОС, поэтому сверяйтесь с документацией на вашу версию.

Почему после создания logcfg.xml логи не появляются?

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

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

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

Можно ли собирать журнал без перезапуска сервера?

В общем случае изменения logcfg.xml применяются после перезапуска процессов. На некоторых версиях платформы доступны механизмы управления настройками без полного перезапуска, но стандартная надёжная практика — перезапуск службы агента в окно обслуживания.

Чем технологический журнал отличается от журнала регистрации?

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

Как найти самые медленные запросы в логах?

Включите сбор событий СУБД (DBMSSQL, DBPOSTGRS и т.п.) с порогом длительности, воспроизведите проблемную операцию, затем отсортируйте события по длительности вручную или скриптом. Для регулярного анализа удобнее специализированные инструменты анализа ТЖ, которые группируют запросы по тексту и контексту.