Администрирование · 12 мин
Чем смотреть технологический журнал 1С
Какими средствами просматривать технологический журнал 1С: встроенные инструменты, сторонние программы, настройка logcfg.xml, анализ ошибок и долгих запросов.
Технологический журнал 1С — это текстовые лог-файлы, в которые платформа записывает события работы сервера, клиентских приложений и запросов к базе данных. Сами по себе файлы представляют собой поток записей в собственном формате с разделителями, поэтому читать их «голым» блокнотом неудобно: события размазаны по множеству файлов, а объём за час работы может достигать сотен мегабайт.
Для анализа журнала существует несколько подходов: встроенные средства платформы, специализированные бесплатные утилиты от сообщества, универсальные текстовые редакторы с поиском и скриптовая обработка. Выбор инструмента зависит от задачи: разовый поиск ошибки требует одного подхода, а постоянный мониторинг производительности — другого.
Ниже разобраны основные инструменты, порядок включения журнала, типичные сценарии анализа и ограничения каждого способа. Материал ориентирован на администраторов и разработчиков, которые работают с клиент-серверной или файловой 1С.
Как включить технологический журнал перед анализом
По умолчанию технологический журнал в клиент-серверном режиме пишется минимально — только аварийные события. Чтобы получить полезные данные, журнал нужно настроить через файл logcfg.xml, который размещается в каталоге conf сервера 1С (рядом с исполняемыми файлами кластера) или в каталоге конфигурации клиентского приложения.
В файле logcfg.xml задаются события, которые нужно фиксировать: DBMSSQL или DBPOSTGRS для запросов к СУБД, EXCP для исключений, CALL и SCOM для вызовов, LEAKS для утечек памяти. Там же указывают каталог размещения логов и глубину хранения в часах через элемент history.
<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С, которые читают файлы журнала и выводят их в табличное поле. Они удобны тем, что не требуют установки программ на сервер: достаточно открыть обработку на машине, где доступен каталог логов.
Сравнение вариантов
Подходит для разового поиска конкретной ошибки по ключевому слову. Ограничение: нет структуры, фильтров и связи событий, большие файлы открываются медленно.
Подходит для регулярного анализа: фильтры, группировка, подсветка длительных событий. Ограничение: стороннее ПО, нужно проверять источник и совместимость с версией платформы.
Подходит для автоматизации: выборка по шаблону, выгрузка в CSV, интеграция с мониторингом. Ограничение: требует навыков написания скриптов и понимания формата журнала.
Подходит для постоянного мониторинга нескольких серверов. Ограничение: нужно развертывание инфраструктуры и настройка парсеров под формат 1С.
Просмотр журнала в текстовом редакторе
Если специализированной утилиты под рукой нет, файлы технологического журнала вполне читаются в Notepad++ или VS Code. Формат записи: каждая строка начинается с метки времени и длительности в микросекундах, затем идёт имя события, процесс и список свойств через запятую. Записи, длящиеся дольше минуты, могут разбиваться на пару событий начала и конца.
Практический приём — поиск по имени события. Например, чтобы найти все исключения, ищите ,EXCP,; чтобы найти запросы к MS SQL — ,DBMSSQL,. Для поиска взаимоблокировок ищите событие TDEADLOCK и текст ошибки СУБД внутри событий EXCP.
Ограничение метода — объём. Файл в несколько гигабайт редактор может открывать долго или не открыть вовсе. В таком случае файл предварительно режут по времени нужного инцидента: в имени файла зашит час, а внутри удобно искать метку времени в формате минуты:секунды.
- 1Откройте каталог логов и найдите файл за час, когда произошла ошибка, в подкаталоге rphost.
- 2Откройте файл в Notepad++ и выполните поиск по тексту ошибки или по событию ,EXCP,.
- 3Поднимитесь выше по файлу и найдите связанный запрос DBMSSQL или CALL с тем же номером соединения.
- 4Выпишите текст запроса, контекст и длительность — этого достаточно для передачи разработчику или анализа плана запроса.
- 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 работал пользователь в момент ошибки.
Третья ошибка — забытый включённый полный журнал. После диагностики подробную запись не отключают, диск переполняется, и кластер останавливается уже по новой причине. Назначайте ответственного за отключение сбора или настройку автоматической очистки.
Как проверить, что вы нашли нужное событие
Признак корректно найденной записи — совпадение времени, имени пользователя или соединения и текста ошибки с тем, что видел пользователь. В событии 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, а затем анализировать. Для разового поиска хватит текстового редактора, для регулярной работы — специализированного просмотрщика, для постоянного мониторинга — скриптов или систем сбора логов. Всегда ограничивайте глубину хранения и отключайте подробный сбор после диагностики.