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

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

Чем смотреть технологический журнал 1С

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

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

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

Ниже разобраны основные инструменты, порядок включения журнала, типичные сценарии анализа и ограничения каждого способа. Материал ориентирован на администраторов и разработчиков, которые работают с клиент-серверной или файловой 1С.

Как включить технологический журнал перед анализом

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

В файле logcfg.xml задаются события, которые нужно фиксировать: DBMSSQL или DBPOSTGRS для запросов к СУБД, EXCP для исключений, CALL и SCOM для вызовов, LEAKS для утечек памяти. Там же указывают каталог размещения логов и глубину хранения в часах через элемент history.

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

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

Встроенные средства: чем смотрит сама платформа

В составе платформы 1С нет отдельного полноценного «просмотрщика» технологического журнала в графическом интерфейсе. Ближайший встроенный инструмент — консоль кластера серверов, но она показывает счётчики и рабочие процессы, а не содержимое логов. Сами файлы журнала платформа просто пишет на диск.

Частично заменить анализ журнала помогает встроенный механизм «Замер производительности» в конфигураторе и функции технологического журнала через объект ТехнологическийЖурнал недоступны — вместо этого используют внешние решения. В режиме отладки конфигуратора можно видеть ошибки и вызовы, но только в момент сеанса, без истории.

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

Специализированные просмотрщики технологического журнала

Основной класс инструментов — бесплатные утилиты, созданные сообществом специалистов по 1С. Наиболее известна программа для просмотра технологического журнала (часто упоминается как 1C TJ Viewer или «Просмотр технологического журнала»), которая парсит файлы логов и показывает события в виде таблицы с фильтрами по имени события, процессу, длительности и тексту.

Такие программы умеют группировать события по контексту, подсвечивать долгие запросы, строить связку «запрос 1С — запрос СУБД — ошибка», что вручную по текстовым файлам делать мучительно долго. Часть утилит распространяется через портал Infostart и GitHub; перед использованием на рабочем сервере стоит проверять источник и скачивать только из доверенных репозиториев.

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

Сравнение вариантов

Текстовый редактор (Notepad++, VS Code)

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

Специализированный просмотрщик ТЖ

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

Скрипты (PowerShell, Python)

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

Системы анализа логов (ELK, Grafana Loki)

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

Просмотр журнала в текстовом редакторе

Если специализированной утилиты под рукой нет, файлы технологического журнала вполне читаются в Notepad++ или VS Code. Формат записи: каждая строка начинается с метки времени и длительности в микросекундах, затем идёт имя события, процесс и список свойств через запятую. Записи, длящиеся дольше минуты, могут разбиваться на пару событий начала и конца.

Практический приём — поиск по имени события. Например, чтобы найти все исключения, ищите ,EXCP,; чтобы найти запросы к MS SQL — ,DBMSSQL,. Для поиска взаимоблокировок ищите событие TDEADLOCK и текст ошибки СУБД внутри событий EXCP.

Ограничение метода — объём. Файл в несколько гигабайт редактор может открывать долго или не открыть вовсе. В таком случае файл предварительно режут по времени нужного инцидента: в имени файла зашит час, а внутри удобно искать метку времени в формате минуты:секунды.

Порядок действий при разборе ошибки в редакторе
  1. 1
    Откройте каталог логов и найдите файл за час, когда произошла ошибка, в подкаталоге rphost.
  2. 2
    Откройте файл в Notepad++ и выполните поиск по тексту ошибки или по событию ,EXCP,.
  3. 3
    Поднимитесь выше по файлу и найдите связанный запрос DBMSSQL или CALL с тем же номером соединения.
  4. 4
    Выпишите текст запроса, контекст и длительность — этого достаточно для передачи разработчику или анализа плана запроса.
  5. 5
    После завершения сократите глубину записи журнала в logcfg.xml, чтобы не заполнить диск.

Автоматизация: скрипты и системы мониторинга

Когда журнал нужно анализировать регулярно, ручной просмотр заменяют скриптами. Типовая задача — выбрать из логов все события EXCP и TDEADLOCK за сутки и сложить их в один файл или отправить уведомление администратору. На Windows это делается через PowerShell с поиском по шаблону, на Linux — через grep и awk.

Для крупных внедрений логи 1С направляют в системы централизованного сбора: Elasticsearch с Kibana, Grafana Loki, Zabbix с парсингом логов. Это позволяет строить графики количества ошибок, длительности запросов и настраивать оповещения. Минус подхода — формат журнала 1С нестандартный, поэтому потребуется написать регулярные выражения для разбора строк.

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

Наиболее частая реальная задача — найти причину ошибки, которую пользователь видел как «Ошибка СУБД» или «Конфликт блокировок». В 9 случаях из 10 достаточно включить в logcfg.xml события EXCP и TLOCK/TTIMEOUT, попросить пользователя воспроизвести проблему и найти в логе запись по времени. Сложная инфраструктура мониторинга для этого не нужна.
ПЗ
Практическое замечание

Типичные ошибки при работе с журналом

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

Вторая ошибка — анализ не того сервера или не того рабочего процесса. В кластере с несколькими рабочими серверами сеанс пользователя мог обслуживаться любым из них, и логи будут на разных машинах. Уточняйте, на каком сервере и в каком rphost работал пользователь в момент ошибки.

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

Типичные ошибки
01
Искать ошибку в логах без настроенного logcfg.xml — нужных событий там просто нет.
02
Анализировать логи не того сервера кластера — сеанс пользователя обслуживал другой rphost.
03
Оставлять полный сбор включённым — диск переполняется и кластер останавливается.
04
Путать технологический журнал с журналом регистрации — ищут действия пользователей не в том месте.
05
Открывать гигабайтный файл целиком — редактор зависает, вместо этого режут файл по времени инцидента.

Как проверить, что вы нашли нужное событие

Признак корректно найденной записи — совпадение времени, имени пользователя или соединения и текста ошибки с тем, что видел пользователь. В событии EXCP поле Descr содержит текст исключения, а свойство Context — стек вызовов встроенного языка, по которому разработчик найдёт место в коде.

Для проблем производительности ориентир — длительность события. Она указывается в начале строки в микросекундах; значения в миллионы микросекунд означают секунды выполнения. Долгий запрос DBMSSQL с длительностью в несколько секунд при жалобах на «тормоза» — прямой кандидат на оптимизацию.

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

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

Журнал пишется
Норма

В каталоге из logcfg.xml появляются подкаталоги rphost/rmngr и файлы .log

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

Каталог пуст — проверьте путь, права доступа и синтаксис logcfg.xml

Найденное событие соответствует инциденту
Норма

Время, пользователь и текст ошибки совпадают с жалобой

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

Событие из другого времени или другого сеанса — выводы будут неверными

Диск сервера
Норма

Свободное место стабильно, старые логи удаляются по history

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

Объём логов растёт без ограничения — срочно сократите состав событий

Часто задаваемые вопросы

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

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

Где по умолчанию лежат файлы технологического журнала?

Если каталог не задан в logcfg.xml, платформа пишет журнал в служебный подкаталог каталога данных кластера (для сервера) или в каталог временных файлов пользователя (для клиентского приложения). Точные пути зависят от версии платформы и ОС, поэтому надёжнее явно задать location в logcfg.xml.

Чем открыть файл лога размером в несколько гигабайт?

Обычные редакторы могут не справиться. Варианты: разделить файл на части по времени (PowerShell, split в Linux), использовать редакторы с поддержкой больших файлов (например, EmEditor или VS Code с ограничениями) либо отфильтровать нужные события скриптом до открытия.

Какие события включать для поиска взаимоблокировок?

Включите события TDEADLOCK, TLOCK, TTIMEOUT и EXCP. По записи TDEADLOCK видно участников блокировки и запросы, которые конфликтовали. Дополнительно полезен DBMSSQL, чтобы видеть полный текст запросов-участников.

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

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

Подходят ли просмотрщики журнала для всех версий платформы 1С?

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

Итог

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

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