Важным элементов в расследовании проблем с системой 1С (падение с ошибками, зависание 1С Предприятия, проблемы с производительностью и т.д.) является настройка Технологического журнала.
Технологический журнал предназначен для поиска ошибок, возникающих при эксплуатации информационной системы, и диагностики работы системы службой технической поддержки фирмы «1С», а также для анализа технологических характеристик работы системы.
Технологический журнал является набором текстовых файлов, хранящихся в различных каталогах. За настройку и ведения ТЖ отвечает конфигурационный файл logcfg.xml, в котором описываются:
- каталог, в котором будут сохраняться файлы технологического журнала;
- состав информации, которая будет сохраняться в ТЖ;
- время, в течение которого будут храниться технологического журнала;
- параметры дампа, создаваемого при аварийном завершении приложения.
По умолчанию конфигурационный файл отсутствует. Это означает, что технологический журнал включен и настроен на сохранение минимальных дампов при аварийном завершении приложения в каталог: %USERPROFILE%\Local Settings\Application Data\1C\1cv8\dumps
Настройка конфигурационного файла logcfg.xml технологического журнала
Для того, чтобы настроить сохранение логов технологического журнала требуется создать файл logcfg.xml и сохранить его в каталог конфигурационных файлов на сервере 1С, т.е. в тот каталог, в котором у вас установлена система 1С Предприятие, например: C:\Program Files\1cv8\conf
Следует сказать, что наличие конфигурационного файла не является обязательным. Если он отсутствует, то ТЖ считается включенным и имеет следующие настройки по умолчанию:
- Технологический журнал (элемент <log>) ‑ выключен.
- Технологический журнал по умолчанию (элемент <defaultlog>):
- Формирование ‑ включено.
- Время жизни ‑ 24 часа.
- Уровень формирования событий <system> для всех компонентов системы определен как Error.
- Сохраняется в каталоги:ОС Windows: %USERPROFILE%\Local Settings\1C\1cv8\logs (%LOCALAPPDATA%\1C\1cv8\logs для ОС Windows Vista и выше).
- Дампы аварийного завершения (актуально только для ОС Windows):
- Сохраняются минимальные дампы аварийного завершения работы системы (type="1").
- Дампы сохраняются в каталог %USERPROFILE%\Local Settings\Application Data\1C\1cv8\dumps (%LOCALAPPDATA%\1C\1cv8\dumps для ОС Windows Vista и выше).
Структура конфигурационного файла
Корневым элементом конфигурационного файла является элемент <config>, который определяет настройки технологического журнала. Он может содержать несколько элементов <log>, один элемент <dump>, один элемент <leaks>, один элемент <plansql>, один элемент <defaultlog>, один или несколько элементов <system>
Описание элементов:
- Элемент <log> определяет каталог технологического журнала и его состав
- Элемент <dump> определяет каталог для записи дампов аварийного завершения
- Элемент <leaks> устанавливает отслеживание утечек памяти, которые могут быть вызваны ошибками в коде конфигурации. Отслеживание утечек памяти несколько снижает производительность.
- Элемент <mem> предназначен для учета используемой памяти
- Элемент <plansql> предназначен для управления сбором планов запроса, формируемых при работе различных СУБД. Собственно планы запросов содержатся в свойстве <planSQLText> событий, связанных с СУБД.
- Элемент <dbmslocks> предназначен для управления сбором информации о блокировках СУБД
- Элемент <ftextupd> предназначен для управления сбором информации о процессах обновления индекса полнотекстового поиска
- Элемент <query> управляет помещением в технологический журнал информации о полях, содержащих NULL при исполнении запроса к внешнему источнику данных, но для которых такое значение не допускается
- Элемент <inputbystring> предназначен для управления сбором информации об использовании механизма ввода по строке.
- Элемент <scriptcircrefs> управляет работой механизма отслеживания информации о циклических ссылках во время выполнения встроенного языка
- Элемент <defaultlog> определяет каталог и время жизни технологического журнала по умолчанию
- Элемент <system> определяет настройки формирования системных событий
Остановимся на ключевых элементах конфигурационного файла.
Элемент <log>
Элемент <log> определяет каталог технологического журнала и условия отбора, по которым в технологический журнал помещаются ранее сформированные события.
Важно! Крайне не рекомендуется использовать более 20 элементов <log> - это может привести к значительному замедление работы системы 1С Предприятие.
Атрибуты элемента <log>:
- Атрибут location - Имя каталога, в котором будет размещаться технологический журнал.
- Атрибут history - Количество часов, через которое информация будет удаляться из технологического журнала.
Элемент <event>
Набор элементов <event> определяет условие, при выполнении которых события будут записываться в журнал. В ТЖ помещаются только события, которые удовлетворяют условию.
Доступны следующие имена событий:
Имя события | Описание |
ADMIN | Управляющие воздействия администратора кластера серверов системы 1С:Предприятие |
ATTN | Записи подсистемы мониторинга состояния кластера 1С |
CALL | Входящий удаленный вызов (удаленный вызов на стороне приемника вызова) |
CLSTR | Выполнение операций, изменяющих работу кластера серверов |
CONFLOADFROMFILES | Выполнение операций загрузки конфигурации из файлов |
CONN | Установка или разрыв клиентского соединения с сервером |
DB2 | Исполнение операторов SQL СУБД Db2 |
DBCOPIES | Работа с копиями базы данных |
DBMSSQL | Исполнение операторов SQL СУБД Microsoft SQL Server |
DBMSSQLCONN | Событие формируется при первом соединении сервера «1С:Предприятие» с СУБД Microsoft SQL Server в тот момент, когда происходит выбор провайдера для работы с базой данных |
DBORACLE | Исполнение операторов SQL СУБД Oracle Database |
DBPOSTGRS | Исполнение операторов SQL СУБД PostgreSQL |
DBV8DBENG | Исполнение операторов SQL файловой СУБД |
DHIST | Выполнение обновления истории данных |
EDS | Работа с внешними источниками данных |
EXCP | Исключительные ситуации приложений системы «1С:Предприятие», которые штатно не обрабатываются и могут послужить причиной аварийного завершения серверного процесса или подсоединенного к нему клиентского процесса |
EXCPCNTX | События, которые начались, но не закончились в момент возникновения нештатной ситуации |
FTEXTCheck | Возникает при проверке файлов индекса полнотекстового поиска |
FTEXTUpd | Возникает во время обновления файлов индекса полнотекстового поиска |
HASP | Событие описывает одно обращение к аппаратному ключу защиты |
InputByString | Возникает при обработке платформой ввода по строке |
LEAKS | События, связанные с утечкой памяти, которые могут быть вызваны ошибками в коде конфигурации |
LIC | События, связанные с получением и освобождением лицензий (как программных, так и ключей HASP), получением лицензий на базовые версии, регулярным мониторингом соответствия реального оборудования и списка оборудования, зафиксированного в лицензии |
MAILPARSEERR | Событие, формируемое в том случае, если во время разбора почтового сообщения возникла ошибка |
MEM | События, связанные с увеличением объема памяти, занятой серверными процессами (ragent, rmngr, rphost). |
PROC | События, относящиеся к процессу целиком и влияющие на дальнейшую работоспособность процесса. Например: старт, завершение, аварийное завершение и т. п. |
QERR | События, связанные с обнаружением ошибок компиляции запроса или ограничения на уровне записей и полей базы данных |
SCALL | Исходящий удаленный вызов (исходящий вызов на стороне источника вызова) |
SCOM | События создания или удаления серверного контекста, обычно связанного с информационной базой |
SDBL | События, связанные с исполнением запросов к модели базы данных системы 1С:Предприятие |
SDGC | Событие возникает при срабатывании механизма очистки сеансовых данных |
SESN | Действия, относящиеся к сеансу работы. Например: начало сеанса, окончание сеанса и т. д. |
SRVC | События, связанные с запуском, остановкой и оповещениями сервисов кластера серверов |
SYSTEM | Системные события механизмов платформы, предназначенные для анализа специалистами фирмы «1С». Настройка событий данного типа должна производиться на основе явных указаний со стороны службы технической поддержки и только на время воспроизведения какой-либо расследуемой проблемы. В противном случае, подобная настройка может привести к существенному увеличению объемов файлов журнала и замедлению работы приложения |
TDEADLOCK | Обнаружена взаимоблокировка в управляемом режиме |
TLOCK | Управление транзакционными блокировками в управляемом режиме |
TTIMEOUT | Превышение максимального времени ожидания транзакционной блокировки |
VRSCACHE | Работа кеша серверных вызовов |
VRSREQUEST | Запрос к серверу за некоторым ресурсом |
VRSRESPONSE | Ответ сервера |
WINCERT | Ошибки, связанные с проверкой сертификата средствами ОС Windows. Такие события могут помочь специалистам в расследовании причин некорректной проверки сертификатов |
Условия задаются элементами:
- eq‑ равно;
- ne‑ не равно;
- gt‑ больше;
- ge‑ больше или равно;
- lt‑ меньше;
- le‑ меньше или равно;
- like‑ соответствие маске.
Примеры настройки технологического журнала
Может показаться, что настройка технологического журнала достаточно трудная операция, но на самом деле в большинстве случаев достаточно использовать выполнить следующие простые шаги:
- Создать каталог на сервере для хранения логов технологического журнала
- Создать файл logcfg.xml или скачать готовый. Примеры содержания данного файла вы найдете ниже. Указав в данном файле каталог, созданный на шаге 1
- Сохранить этот файл на сервере в конфигурационный каталог, куда установлена система 1С. Например: C:\Program Files\1cv8\conf
Полный технологический журнал
<config xmlns="http://v8.1c.ru/v8/tech-log"> <log location="C:\v8\logs" history="168"> <event> <ne property="name" value=""/> </event> <property name="all"> </property> </log> </config>
После сохранения журнала не забудьте указать свой каталог в атрибуте location. Т.е., следует заранее создать каталог и заменить в строке <log location="C:\v8\logs" на него.
Настройки, приведенные выше позволят сохранить все события со всеми свойствами, при этом журнал будет сохраняться 168 часов (одна неделя). Важно понимать, что объем выводимой информации будет очень большим, поэтому не рекомендуется использовать данные настройки в рабочих системах на постоянной основе, однако это может быть весьма полезно на этапе внедрения или при расследовании ошибок. Для рабочих систем следует остановиться на приведенных ниже вариантах.
Ошибки системы и действия администратора
<config xmlns="http://v8.1c.ru/v8/tech-log"> <log location="C:\v8\logs" history="168"> <event> <eq property="name" value="admin"/> </event> <event> <eq property="name" value="conn"/> </event> <event> <eq property="name" value="excp"/> </event> <event> <eq property="name" value="proc"/> </event> <event> <eq property="name" value="qerr"/> </event> <event> <eq property="name" value="scom"/> </event> <property name="all"/> </log> </config>
Данный конфигурационный файл создает технологический журнал относительно небольшого объема, в котором содержится информация о запуске и завершении приложений, установке и разрыве соединений с кластером серверов «1С:Предприятия», действиях администратора кластера и об ошибочных ситуациях в работе 1С:Предприятия. Такой журнал в большинстве случаев достаточен для расследования ошибочных ситуаций как в конфигурации, так и в технологической платформе 1С.
Для удобства вы можете скачать данный файл по ссылке.
Ограничение по времени выполнения
<?xml version="1.0" encoding="UTF-8"?> <config xmlns="http://v8.1c.ru/v8/tech-log"> <dump create="false"/> <log location="C:\v8\logs" history="168"> <event> <eq property="name" value="admin"/> <gt property="duration" value="100000"/> </event> <event> <eq property="name" value="conn"/> <gt property="duration" value="100000"/> </event> <event> <eq property="name" value="excp"/> <gt property="duration" value="100000"/> </event> <event> <eq property="name" value="proc"/> <gt property="duration" value="100000"/> </event> <event> <eq property="name" value="qerr"/> <gt property="duration" value="100000"/> </event> <event> <eq property="name" value="scom"/> <gt property="duration" value="100000"/> </event> <property name="all"/> </log> </config>
Приведенный выше файл аналогичен предыдущему пункту, но добавляет все операции, длительность которых превышает 10 секунд. Это может оказаться полезным для обнаружения действий пользователей, которые выполнялись длительное время, с целью, например, их последующей оптимизации. Длительность событий выражается в сотнях микросекунд.