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

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

Файлы LGD в 1С: что это и как работать с технологическим журналом

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

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

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

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

Что такое технологический журнал и зачем ему формат LGD

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

Каждый процесс платформы (rphost, ragent, rmngr, тонкий или толстый клиент) пишет свой набор файлов. Внутри каталога события группируются по процессам и по времени: создаются подкаталоги с именами процессов, а внутри — файлы вида YYMMDDHH.lgd, где имя отражает дату и час создания. Один файл обычно покрывает один час работы процесса.

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

Где лежат LGD-файлы и как включить их запись

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

В файле logcfg.xml задаются: каталог размещения логов (элемент location), перечень событий (элементы event), свойства и фильтры. Минимальная конфигурация для сбора всех событий выглядит так:

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

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

Какие события записываются в LGD

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

  • DBMSSQL, DBPOSTGRS, DBORACLE, DB2 — запросы к соответствующей СУБД с текстом запроса и длительностью;
  • EXCP — исключения (ошибки платформы), включая те, что не показываются пользователю;
  • DEADLOCK — взаимоблокировки на уровне СУБД;
  • TLOCK, TTIMEOUT, TTDEADLOCK — управляемые блокировки транзакций, таймауты и взаимоблокировки на уровне платформы;
  • CALL, SCALL — вызовы между процессами и серверами;
  • CONN, PROC, CLSTR — соединения, процессы и события кластера;
  • LEAKS, MEM — события, связанные с памятью процессов.

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

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

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

Пользователи жалуются на медленную работуВключайте события DBMSSQL (или вашу СУБД) и CALL с фильтром по длительности
Возникают ошибки «Конфликт блокировок» или «Превышено время ожидания»Включайте TLOCK, TTIMEOUT, TDEADLOCK, DEADLOCK
Падают рабочие процессы rphost или растёт памятьВключайте EXCP, MEM, LEAKS, PROC
Причина проблемы неизвестнаВключайте все события на короткий период (30–60 минут) с обязательным history

Как читать содержимое LGD-файла

Каждая строка (точнее, каждая запись) в LGD-файле имеет формат: минуты:секунды.микросекунды-длительность,ИмяСобытия,процесс:поток,свойство='значение',.... Длительность указывается в микросекундах, что позволяет точно сравнивать операции по времени выполнения.

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

Практический приём при поиске медленных запросов: сначала найти в LGD событие DBMSSQL с большой длительностью, затем по свойству Context определить, какой код конфигурации его вызвал, и уже потом анализировать сам запрос в СУБД. Так цепочка «тормозит операция → конкретный запрос → конкретное место в коде» восстанавливается полностью.

Порядок диагностики медленной операции
  1. 1
    Включите ТЖ с событиями вашей СУБД и фильтром по длительности, задайте history
  2. 2
    Воспроизведите проблемную операцию в то время, пока журнал пишется
  3. 3
    Откройте LGD-файл за нужный час и найдите события с максимальной длительностью
  4. 4
    По свойству Context определите вызывающий код конфигурации
  5. 5
    Проанализируйте текст запроса и план его выполнения в СУБД
  6. 6
    После диагностики отключите журнал, удалив или переименовав logcfg.xml

Можно ли удалять LGD-файлы и как чистить логи

LGD-файлы не содержат данных информационной базы — это только диагностическая информация. Их удаление не влияет на работу 1С и на целостность базы. Единственное ограничение: файл, который процесс пишет прямо сейчас, может быть занят; на Windows его удаление может быть заблокировано, на Linux файл удалится из каталога, но место освободится только после закрытия дескриптора процессом.

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

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

Типичные ошибки
01
Включение полного журнала без history — диск переполняется за часы, сервер 1С и СУБД останавливаются
02
Размещение логов на системном диске или на томе с базой — переполнение влияет на ОС и СУБД
03
Постоянно включённый ТЖ «на всякий случай» — лишняя нагрузка на дисковую подсистему и рост накладных расходов
04
Удаление занятого файла текущего часа — на Windows ошибка доступа, на Linux место не освобождается до перезапуска процесса
05
Поиск ошибок в ТЖ вместо журнала регистрации — действия пользователей в LGD не пишутся, это разные механизмы

Чем LGD отличается от журнала регистрации и дампов

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

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

МеханизмФорматЧто фиксируетКогда использовать
Технологический журналLGDЗапросы к СУБД, блокировки, исключения, вызовыДиагностика производительности и низкоуровневых ошибок
Журнал регистрацииLGPДействия пользователей, прикладные событияАудит действий, поиск прикладных ошибок
Аварийные дампыDMPСостояние процесса в момент паденияАнализ аварийных завершений rphost
Контрольные точки

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

Включился ли журнал после создания logcfg.xml
Норма

В указанном каталоге появились подкаталоги процессов и файлы вида YYMMDDHH.lgd

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

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

Работает ли автоочистка
Норма

Файлы старше значения history удаляются платформой автоматически

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

Файлы накапливаются — параметр history не задан или задан в неверном месте конфигурации

Отключился ли журнал после удаления logcfg.xml
Норма

Новые LGD-файлы перестали появляться в течение нескольких минут

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

Запись продолжается — logcfg.xml остался в другом каталоге conf, который читается платформой

Ограничения и меры предосторожности

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

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

Наконец, не стоит пытаться «лечить» систему самим технологическим журналом: он только показывает симптомы. Если анализ LGD показывает системные проблемы — массовые взаимоблокировки, регулярные падения rphost, утечки памяти — следующий шаг это анализ кода конфигурации, настроек СУБД и, при необходимости, обращение к специалистам с уже собранной диагностикой.

Удобно держать заранее подготовленные шаблоны logcfg.xml под типовые задачи: «медленные запросы», «блокировки», «полный сбор на час». Тогда включение диагностики занимает минуту — достаточно скопировать нужный шаблон в каталог conf, а после сбора данных удалить его обратно.
ПЗ
Практическое замечание
Итог

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

LGD — это файлы технологического журнала 1С с низкоуровневой диагностикой. Журнал включается через logcfg.xml, всегда требует параметра history и отдельного диска, а после анализа файлы можно безопасно удалить — на данные базы это не влияет.

Частые вопросы о файлах LGD

Можно ли просто удалить все LGD-файлы, чтобы освободить место?

Да, удаление LGD-файлов безопасно для базы — это только диагностические логи. Но сначала отключите журнал (уберите logcfg.xml), иначе файлы будут создаваться снова. Файл текущего часа может быть занят процессом: либо удаляйте только старые файлы, либо дождитесь остановки записи.

Почему LGD-файлы появились, хотя никто журнал не включал?

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

Чем открыть LGD-файл?

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

Содержат ли LGD-файлы данные базы и пароли?

Пароли платформа в журнал не пишет. Но в текстах запросов к СУБД могут встречаться значения параметров — фрагменты реальных данных (ФИО, суммы, номера). Поэтому доступ к каталогу логов стоит ограничивать, а при передаче файлов третьим лицам — предварительно очищать чувствительные сведения.

Замедляет ли включённый технологический журнал работу 1С?

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

Чем LGD отличается от LGP-файлов в каталоге базы?

LGP — это файлы журнала регистрации, который хранится внутри информационной базы и фиксирует действия пользователей и прикладные события. LGD — технологический журнал платформы, пишется в файловую систему и фиксирует запросы к СУБД, блокировки и системные ошибки. Это независимые механизмы с разным назначением.