Справочный материал

logcfg.xml

Описаны назначение и параметры файла logcfg.xml для настройки технологического журнала и дампов аварийного завершения BAS. Рассмотрены элементы <log> и <event>, группы событий и шаблоны отбора.. Общее описание. Общее описание. Элемент <log>. Элемент <event>

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

Общее описание

Общее описание

Элемент <log>

Элемент <event>

 

Общее описание

Файл logcfg.xml используется для настройки параметров технологического журнала и механизма создания дампов при аварийном завершении работы системы BAS.

Файл размещается в каталоге файлов конфигурации системы BAS, его наличие не является обязательным.

Если файл не найден, технологический журнал имеет следующие параметры:

  • Технологический журнал (элемент <log>) — выключен.
  • Технологический журнал по умолчанию (элемент <defaultlog>):

    • Формирование — включено.
    • Время жизни — 24 часа.
    • Уровень формирования событий <system> для всех компонентов системы определен как Error.
    • Хранится в каталогах:

      • Windows: %USERPROFILE%\Local Settings\1C\1cv8\logs (%LOCALAPPDATA%\1C\1cv8\logs для ОС Windows Vista и новее).
      • ОС Linux: ~/.1cv8/logs.
  • Дампы аварийного завершения (актуально только для Windows):

    • Сохраняются минимальные дампы аварийного завершения работы системы (type="1").
    • Дампы хранятся в каталоге %USERPROFILE%\Local Settings\Application Data\1C\1Cv8\dumps (%LOCALAPPDATA%\1C\1Cv8\dumps для ОС Windows Vista и новее).

Пример:

<config xmlns="http://bas-soft.eu/v8/tech-log">
    <log location="c:\bas\logs" history="1">
        <event>
            <eq property="name" value="conn"/>
        </event>
    </log>
    <dump location="c:\bas\dumps" create="1" type="2"/>
</config>

Этот конфигурационный файл определяет следующее:

  • в технологическом журнале регистрируются все события установления и разрыва клиентского соединения с сервером;
  • файлы технологического журнала размещаются в каталоге c:\bas\logs;
  • файлы технологического журнала хранятся в течение одного часа;
  • файлы дампов хранятся в каталоге c:\bas\dumps;
  • файлы дампов содержат всю доступную информацию (содержимое всей памяти процесса).

Совет

Для редактирования файла конфигурации технологического журнала удобно использовать специальный инструмент, размещенный на ИТС: Настройка технологического журнала (https://its.bas-soft.eu/db/metoddevu#content:8021165:hdoc).

Общее описание

Корневым элементом конфигурационного файла является элемент <config>, который определяет параметры технологического журнала. Он может содержать несколько элементов <log>, один элемент <dump>, один элемент <leaks>, один элемент <plansql>, один элемент <defaultlog>, один или несколько элементов <system>:

<config…>
    <log…>…</log>
    <log…>…</log>
    <log…>…</log>
    <dump … />
    <leaks>…</leaks>
    <mem/>
    <plansql/>
    <dbmslocks/>
    <ftextupd …/>
    <query …/>
    <inputbystring …/>
    <scriptcircrefs/>
    <system … />
    <system … />
    <system … />
    <defaultlog … />
</config>

Эти элементы отвечают за следующее:

  • Элемент <log> определяет каталог технологического журнала и его состав.
  • Элемент <dump> определяет каталог для записи дампов аварийного завершения.
  • Элемент <leaks> устанавливает отслеживание утечек памяти, которые могут быть вызваны ошибками в коде решения. Отслеживание утечек памяти несколько снижает производительность.
  • Элемент <mem> предназначен для учета используемой памяти.
  • Элемент <plansql> предназначен для управления сбором планов запросов, формируемых при работе различных СУБД. Сами планы запросов содержатся в свойстве <planSQLText> событий, связанных с СУБД.
  • Элемент <dbmslocks> предназначен для управления сбором информации о блокировках СУБД.
  • Элемент <ftextupd> предназначен для управления сбором информации о процессах обновления индекса полнотекстового поиска.
  • Элемент <query> управляет внесением в технологический журнал информации о полях, содержащих NULL при выполнении запроса к внешнему источнику данных, но для которых такое значение невозможно.
  • Элемент <inputbystring> предназначен для управления сбором информации об использовании механизма ввода по строке.
  • Элемент <scriptcircrefs> управляет работой механизма отслеживания информации о циклических ссылках при выполнении встроенного языка.
  • Элемент <defaultlog> определяет каталог и время жизни технологического журнала по умолчанию.
  • Элемент <system> определяет настройки формирования системных событий.

Элементы можно разделить на несколько групп:

1. Элементы, управляющие формированием того или иного события. К таким элементам относятся <dump>, <leaks>, <mem>, <plansql>, <ftextupd>, <system>, <query>, <scriptcircrefs>, <inputbystring>. При этом, если в файле настроек технологического журнала отсутствует нужный элемент, соответствующее событие системой не формируется. Другими словами, если, например, учет используемой памяти не включен элементом <mem>, то наличие отбора по событию MEM никак не повлияет на наполнение технологического журнала, поскольку событие просто не формируется.

2. Элементы, задающие отбор для уже сформированных данных технологического журнала. К таким элементам относятся <event> и <property>. С помощью этих элементов можно обрабатывать сформированные системой события, чтобы уменьшить количество данных, записываемых в файлы технологического журнала.

3. Элементы, управляющие размещением файлов с данными (технологический журнал и дампы). К таким элементам относятся <log>, <defaultlog>, <dump>.

Элемент <log>

Элемент <log> определяет каталог технологического журнала и условия отбора, по которым в технологический журнал вносятся ранее сформированные события.

ВНИМАНИЕ!

Не рекомендуется настраивать большое количество (свыше 20) технологических журналов (элементов <log>) в файле logcfg.xml. Большое количество настроенных журналов может привести к существенному замедлению работы системы.

Атрибуты элемента:

Атрибут location

Имя каталога, в котором будет размещаться технологический журнал.

ВНИМАНИЕ!

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

Примечание

В элементах <log>, <dump> и <defaultlog> следует указывать разные каталоги в атрибутах location.

Атрибут history

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

В элемент <log> могут быть вложены элементы <event> и <property>, состав которых определяет условие записи в журнал каждого события и условия записи каждого свойства события.

Если этот элемент не содержит ни одного элемента <event>, ни одно событие в журнал записываться не будет.

Элемент <event>

Последовательность элементов <event> определяет условие, при выполнении которого событие будет внесено в журнал. В журнал вносятся только события, соответствующие условию. Иначе говоря, если условие, определенное последовательностью элементов <event>, принимает значение True, событие будет записано в журнал. Событие включается в журнал, только если оно удовлетворяет всем условиям внутри хотя бы одного из элементов <event>. То есть условия внутри <event> объединяются «по AND», а элементы <event> — «по OR».

Условия задаются элементами:

  • eq — равно;
  • ne — не равно;
  • gt — больше;
  • ge — больше или равно;
  • lt — меньше;
  • le — меньше или равно;
  • like — соответствие маске.

Каждый из этих элементов, кроме элемента like, определяет простое сравнение значения параметра события, имя которого задается атрибутом property, со значением атрибута value.

Пример:

<event>
    <eq property="name" value="proc"/>
</event>

В этом примере в технологическом журнале будут регистрироваться события, относящиеся к группе с именем PROC.

Доступны следующие имена групп событий.

Имя события

Описание

ADMIN

Управляющие действия администратора кластера серверов системы.

ATTN

Записи подсистемы мониторинга состояния кластера системы.

CALL

Входящий удаленный вызов (удаленный вызов на стороне принимающей вызов).

CLSTR

Выполняет операции, изменяющие работу кластера серверов.

CONFLOADFROMFILES

Выполнение операций загрузки конфигурации из файлов;

CONN

Установление или разрыв клиентского соединения с сервером.

DB2

Выполнение операторов SQL СУБД Db2.

DBCOPIES

Работа с копиями базы данных.

DBMSSQL

Выполнение операторов SQL СУБД Microsoft SQL Server.

DBMSSQLCONN

Событие формируется при первом соединении сервера системы с СУБД Microsoft SQL Server, в момент выбора провайдера для работы с базой данных.

DBORACLE

Выполнение операторов SQL СУБД Oracle Database.

DBPOSTGRS

Выполнение операторов SQL СУБД PostgreSQL.

DBV8DBENG

Выполнение операторов SQL файловой СУБД.

DHIST

Выполнение обновления истории данных.

EDS

Работа с внешними источниками данных.

EVENTLOG

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

EXCP

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

EXCPCNTX

События, которые начались, но не закончились на момент возникновения нештатной ситуации.

FTEXTCheck

Возникает при проверке файлов индекса полнотекстового поиска.

FTEXTUpd

Возникает при обновлении файлов индекса полнотекстового поиска.

HASP

Событие описывает одно обращение к аппаратному ключу защиты.

InputByString

Возникает при обработке платформой ввода по строке.

LEAKS

События, связанные с утечками памяти, которые могут быть вызваны ошибками в коде решения.

LIC

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

MAILPARSEERR

Событие, формируемое при возникновении ошибки при разборе почтового сообщения.

MEM

События, связанные с увеличением объема памяти, занятой серверными процессами (ragent, rmngr, rphost).

PROC

События, относящиеся к процессу в целом и влияющие на его дальнейшую работоспособность. Например: запуск, завершение, аварийное завершение и т. д.

QERR

События, связанные с выявлением ошибок компиляции запроса или ограничений на уровне записей и полей базы данных.

SCALL

Исходящий удаленный вызов (исходящий вызов на стороне источника вызова).

SCOM

События создания или удаления серверного контекста, обычно связанного с информационной базой.

SDBL

События, связанные с выполнением запросов к модели базы данных системы.

SDGC

Событие возникает при срабатывании механизма очистки сеансовых данных.

SESN

Действия, относящиеся к сеансу работы. Например: начало сеанса, завершение сеанса и т. д.

SINTEG

Работа с внешним сервисом интеграции. Событие возникает при отправке и начале получения сообщений.

SRVC

События, связанные с запуском, остановкой и оповещениями сервисов кластера серверов.

SYSTEM

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

TDEADLOCK

Обнаружена взаимоблокировка в управляемом режиме.

TLOCK

Управление транзакционными блокировками в управляемом режиме.

TTIMEOUT

Превышение максимального времени ожидания транзакционной блокировки.

VRSCACHE

Работа кэша серверных вызовов.

VRSREQUEST

Запрос к серверу относительно определенного ресурса.

VRSRESPONSE

Ответ сервера.

WINCERT

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

Также следует отметить, что события из групп PROC, SCOM, EXCP, CONN и ADMIN возникают относительно редко и содержат небольшое количество информации, тогда как регистрация событий из групп SDBL, DB2, DBMSSQL, DBPOSTGRS, DBORACLE может привести к значительному росту объема технологического журнала.

Элемент like определяет, соответствует ли свойство события технологического журнала определенной маске. Маска представляет собой последовательность символов, некоторые из которых означают сами себя, а некоторые являются шаблонами для описания группы символов.

Например, элемент <like property="SDBL" value="%reference%"/> означает проверку значения свойства SDBL события технологического журнала на соответствие маске %reference%.

К шаблонам относятся:

  • % — 0 или более произвольных символов.
  • _ — 1 произвольный символ.
  • [...] — один из перечисленных символов, при этом [...] может содержать произвольные символы, а также диапазоны вида с-С, где с — начальный символ диапазона, С — конечный символ диапазона.
  • [^...] — один произвольный символ, кроме перечисленных в скобках [].
  • \ — префиксный символ. Игнорируется и означает, что следующий за ним символ является обычным символом, который означает сам себя, а не шаблоном.
  • Все остальные символы — простые символы, которые означают сами себя. При сравнении простых символов регистр букв не различается.

Примеры шаблонов:

  • шаблон — строка с конкретным текстом. В этом случае сравнение like не отличается от сравнения eq. Регистр букв не различается.
  • %reference% — строка, содержащая контекст reference в произвольном месте. Регистр букв не различается.
  • reference% — строка, содержащая контекст reference в начале. Регистр букв не различается.
  • %reference — строка, содержащая контекст reference в конце. Регистр букв не различается.
  • %[a-z] — строка со строчной английской буквой от a до z в конце.
  • %[^a-z]% — строка, содержащая хотя бы один символ, отличный от строчной английской буквы.

Замечание

Фильтрация событий по шаблонам медленнее, чем использование других элементов сравнения. Использование сложной фильтрации событий и свойств технологического журнала может несколько замедлить работу системы.

Пример:

<log location="c:\logs" history=«1">
    <event>
        <eq property="name" value="proc"/>
    </event>
    <event>
        <eq property="name" value="scom"/>
    </event>
    <event>
        <eq property="name" value="conn"/>
    </event>
    <event>
        <eq property="name" value="excp"/>
    </event>
    <event>
        <eq property="name" value="dbmssql"/>
    </event>
</log>

В этом примере указано, что в технологическом журнале будут регистрироваться события, относящиеся к группам PROC, SCOM, CONN, EXCP и DBMSSQL.

Записаться по телефону