Технологический журнал (ТЖ) платформы 1С:Предприятие является ключевым инструментом для расследования аварийных завершений процессов, поиска взаимоблокировок, анализа длительных запросов к СУБД и общего контроля стабильности системы. Разберем по шагам, как устроен конфигурационный файл журнала, где он должен располагаться и как правильно настроить сбор событий без избыточной нагрузки на сервер.
Сбор технологического журнала включается и конфигурируется с помощью файла с именем logcfg.xml. Местоположение этого файла зависит от разрядности установленной платформы и операционной системы:
C:\Program Files\1cv8\conf\logcfg.xml (параметры будут действовать для всех установленных версий платформы) либо в каталог конкретной версии платформы C:\Program Files\1cv8\<номер_версии>\conf\logcfg.xml.C:\Program Files (x86)\1cv8\conf\logcfg.xml./opt/1cv8/conf/logcfg.xml, а версия-зависимый — в /opt/1cv8/x86_64/<номер_версии>/conf/logcfg.xml.Рассмотрим структуру XML-документа. Файл logcfg.xml крайне чувствителен к регистру тегов и атрибутов, а также должен быть сохранен строго в кодировке UTF-8 (желательно без маркера BOM). Корневым элементом всегда выступает <config> с указанием пространства имен.
Посмотрим на пример конфигурации для отслеживания исключительных ситуаций и ошибок с сохранением истории за последние 7 дней (168 часов):
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="C:\LOGS\1C_EXCP" history="168">
<event>
<eq property="name" value="EXCP"/>
</event>
<event>
<eq property="name" value="EXCPCNTX"/>
</event>
<property name="all"/>
</log>
</config>
Проанализируем особенности формирования каталогов и файлов журнала:
location папки отдельные подкаталоги для каждого рабочего процесса — например, для процессов rphost, менеджера кластера rmngr и агента ragent.ГГММДДЧЧ.log.history определяет глубину хранения файлов в часах. По истечении этого времени процесс 1С автоматически удаляет файлы старше указанного интервала при условии, что процесс продолжает активную запись.Разберем важные нюансы вступления конфигурации в силу и частые причины, по которым сбор логов не начинается:
logcfg.xml перезапускать службу ragent или сервер целиком не требуется. Процессы 1С опрашивают дату изменения файла конфигурации с периодичностью около одной минуты и автоматически применяют новые правила.location, должен быть доступен на чтение, запись и создание подкаталогов пользователю операционной системы, от которого запущена служба сервера 1С (по умолчанию USR1CV8 в Windows или usr1cv8 в Linux). Если прав недостаточно, логи записываться не будут, а служба не выдаст явного предупреждения.logcfg.xml из каталога conf. В течение минуты запись логов остановится.Выясним причину, почему нельзя собирать все события подряд. Включение полного логирования (всех событий без условий) приводит к колоссальной утилизации дисковой подсистемы и быстрому переполнению накопителя. Настройку следует выполнять точечно под текущую задачу:
EXCP, EXCPCNTX, QERR.CALL, SDBL, DBMSSQL, DBPOSTGRS с обязательной фильтрацией в секции <filter> по свойству duration больше установленного порога в микросекундах.TLOCK, TTIMEOUT, TDEADLOCK.<dump>.Для последующего чтения и анализа сформированных файлов логов можно использовать специализированные внешние обработки (например, из комплекта инструментов разработчика), консольные утилиты потокового разбора текста или специализированные системы централизованного сбора логов.