Довідковий матеріал

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.

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