Описание и включение. Технологический журнал. Описание и включение Обращения к субд


Не так давно открыл для себя нечто новое, оказывается есть технологический журнал (ТЖ). Что это за зверь такой и для чего он нужен попытаюсь ответить в этой статье.

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

  • при выполнении какого кода «падают» рабочие процессы сервера
  • какие запросы работают медленно и откуда они вызываются
  • Посмотреть были ли взаимоблокировки или блокировки по таймауту
  • и многое другое.
Что же собой представляет ТЖ? А представляет собой ТЖ совокупность текстовых файлов, хранящихся в указанном каталоге.
Файлы эти можно разделить на 2 группы
  • файлы дампа
  • файлы логов
Логи – это файлы с расширением log, где информация хранится в текстовом виде.
Дампы – это файл с расширением mdmp, который содержит в себе содержимое оперативной памяти процесса на момент «падения» .


Идем дальше. А в каком каталоге хранятся файлы ТЖ?.
По умолчанию ТЖ создается в каталоге:
%USERPROFILE%\Local Settings\Application Data\1C\1Cv82\
Если используется Windows Vista и выше, то будет использоваться каталог: %LOCALAPPDATA%\1C\1Cv82\
Для 8.3 вместо каталога 1Cv82 используется 1Cv8.
Но этот каталог можно изменить. Об этом чуть ниже.
Как включить ТЖ?
По умолчанию технологический журнал включен, и настроен на сохранение минимальных дампов. С помощью специального файла мы можем настроить ТЖ. А именно можем изменить каталоги ТЖ, указать какие события должны регистрироваться в ТЖ и тд.
Я говорю о файле настроек ТЖ logcfg.xml .

Этот файл должен находится в каталоге conf в папке с установленной 1с, например
«D:\Program Files\1Cv8\conf»
Рассмотрим пример файла настроек для полного ТЖ.
config xmlns="http://v8.1c.ru/v8/tech-log"> Этот конфигурационный файл определяет вывод в технологический журнал всех событий вместе со всеми свойствами. Журнал будет сохраняться в течение недели (24 часа). Однако объем выводимой информации при этом будет очень большим.
Целесообразней настроить ТЖ только на интересующие нас события, например мы хотим посмотреть есть были ли в системе ошибки и долгие операции (>10 секунд)

Самые распространенные события ТЖ: EXCP – исключительные ситуации приложений системы «1С:Предприятие», которые штатно не обрабатываются и могут послужить причиной̆ аварийного завершения серверного процесса или подсоединенного к нему клиентского процесса. EXCPCNTX – события, которые начались, но не закончились в момент возникновения нештатной̆ ситуации. DBMSSQL – исполнение операторов SQL СУБД Microsoft SQL Server. Для каждой СУБД используется свое событие (BPOSTGRS, DBORACLE, DB2, DBV8DBENG – файловый вариант) ADMIN – действия администратора кластера в консоли кластеров. PROC – события, относящиеся к процессу целиком и влияющие на дальнейшую работоспособность процесса. Например: старт, завершение, аварийное завершение и т. п. CALL – входящий удалённый вызов (удалённый вызов на стороне приемника вызова). Например, если вы из клиента вызываете функцию на сервере, то в ТЖ на сервере будет записано событие CALL. SCALL – исходящий удалённый вызов (исходящий вызов на стороне источника вызова). Например, если вы из клиента вызываете функцию на сервере, то в ТЖ на клиенте будет записано событие SCALL. SESN – действия, относящиеся к сеансу работы. Например: начало сеанса, окончание сеанса. TDEADLOCK – обнаружена взаимоблокировка в управляемом режиме блокировок. TTIMEOUT – ошибка по таймауту на управляемых блокировках. TLOCK – установка транзакционной блокировки в управляемом режиме блокировок.
С помощью настроек ТЖ можно отфильтровать практически любые интересующие нас события.
Допустим хотим видеть в ТЖ только ошибки и информацию о запросах к таблице AccRg105, которые длились более 3 секунд. Тогда logcfg должен выглядеть следующим образом.
Между двумя работает логическое ИЛИ, т.е. при возникновении любого из событий оно будет записано в ТЖ.
Внутри одного работает логическое И, т.е. данное событие будет записано только в том случае, если будут выполнены все условия внутри одного.
При такой настройке событие EXCP будет записываться всегда, а событие DBMSSQL только в том случае, если в любом месте текста запроса содержится строка «AccRg105» и при этом запрос выполнялся дольше 3 секунд. Фильтр на длительность события, надо ставить в десятитысячных долях секунды независимо от версии платформы. В данном примере мы используем несколько условий: eq, gt и like.
Можно использовать следующие условия:

  • eq – равно;
  • ne – не равно;
  • gt – больше;
  • ge – больше или равно;
  • lt – меньше;
  • le – меньше или равно;
  • like – соответствие маске.
В окончании добавлю еще пару примечаний:
Платформа раз в минуту считывает данные из файла настроек, поэтому не стоит горячится и сразу проверять файлы, только спокойствие все будет через минуточку)
Если Вы не собираетесь посылать в фирму 1с данные дампов, то не зачем их и хранить, в файле настроек не указывайте строку dump location .
Если Вы собираетесь хранить файлы ТЖ в каталоге отличном от каталога по умолчанию, то лучше предварительно создайте его сами.

В тестовой базе я умышленно создал превышение таймаута на блокировке,
На примере этого


Не так давно открыл для себя нечто новое, оказывается есть технологический журнал (ТЖ). Что это за зверь такой и для чего он нужен попытаюсь ответить в этой статье.

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

  • при выполнении какого кода «падают» рабочие процессы сервера
  • какие запросы работают медленно и откуда они вызываются
  • Посмотреть были ли взаимоблокировки или блокировки по таймауту
  • и многое другое.
Что же собой представляет ТЖ? А представляет собой ТЖ совокупность текстовых файлов, хранящихся в указанном каталоге.
Файлы эти можно разделить на 2 группы
  • файлы дампа
  • файлы логов
Логи – это файлы с расширением log, где информация хранится в текстовом виде.
Дампы – это файл с расширением mdmp, который содержит в себе содержимое оперативной памяти процесса на момент «падения» .


Идем дальше. А в каком каталоге хранятся файлы ТЖ?.
По умолчанию ТЖ создается в каталоге:
%USERPROFILE%\Local Settings\Application Data\1C\1Cv82\
Если используется Windows Vista и выше, то будет использоваться каталог: %LOCALAPPDATA%\1C\1Cv82\
Для 8.3 вместо каталога 1Cv82 используется 1Cv8.
Но этот каталог можно изменить. Об этом чуть ниже.
Как включить ТЖ?
По умолчанию технологический журнал включен, и настроен на сохранение минимальных дампов. С помощью специального файла мы можем настроить ТЖ. А именно можем изменить каталоги ТЖ, указать какие события должны регистрироваться в ТЖ и тд.
Я говорю о файле настроек ТЖ logcfg.xml .

Этот файл должен находится в каталоге conf в папке с установленной 1с, например
«D:\Program Files\1Cv8\conf»
Рассмотрим пример файла настроек для полного ТЖ.
config xmlns="http://v8.1c.ru/v8/tech-log"> Этот конфигурационный файл определяет вывод в технологический журнал всех событий вместе со всеми свойствами. Журнал будет сохраняться в течение недели (24 часа). Однако объем выводимой информации при этом будет очень большим.
Целесообразней настроить ТЖ только на интересующие нас события, например мы хотим посмотреть есть были ли в системе ошибки и долгие операции (>10 секунд)

Самые распространенные события ТЖ: EXCP – исключительные ситуации приложений системы «1С:Предприятие», которые штатно не обрабатываются и могут послужить причиной̆ аварийного завершения серверного процесса или подсоединенного к нему клиентского процесса. EXCPCNTX – события, которые начались, но не закончились в момент возникновения нештатной̆ ситуации. DBMSSQL – исполнение операторов SQL СУБД Microsoft SQL Server. Для каждой СУБД используется свое событие (BPOSTGRS, DBORACLE, DB2, DBV8DBENG – файловый вариант) ADMIN – действия администратора кластера в консоли кластеров. PROC – события, относящиеся к процессу целиком и влияющие на дальнейшую работоспособность процесса. Например: старт, завершение, аварийное завершение и т. п. CALL – входящий удалённый вызов (удалённый вызов на стороне приемника вызова). Например, если вы из клиента вызываете функцию на сервере, то в ТЖ на сервере будет записано событие CALL. SCALL – исходящий удалённый вызов (исходящий вызов на стороне источника вызова). Например, если вы из клиента вызываете функцию на сервере, то в ТЖ на клиенте будет записано событие SCALL. SESN – действия, относящиеся к сеансу работы. Например: начало сеанса, окончание сеанса. TDEADLOCK – обнаружена взаимоблокировка в управляемом режиме блокировок. TTIMEOUT – ошибка по таймауту на управляемых блокировках. TLOCK – установка транзакционной блокировки в управляемом режиме блокировок.
С помощью настроек ТЖ можно отфильтровать практически любые интересующие нас события.
Допустим хотим видеть в ТЖ только ошибки и информацию о запросах к таблице AccRg105, которые длились более 3 секунд. Тогда logcfg должен выглядеть следующим образом.
Между двумя работает логическое ИЛИ, т.е. при возникновении любого из событий оно будет записано в ТЖ.
Внутри одного работает логическое И, т.е. данное событие будет записано только в том случае, если будут выполнены все условия внутри одного.
При такой настройке событие EXCP будет записываться всегда, а событие DBMSSQL только в том случае, если в любом месте текста запроса содержится строка «AccRg105» и при этом запрос выполнялся дольше 3 секунд. Фильтр на длительность события, надо ставить в десятитысячных долях секунды независимо от версии платформы. В данном примере мы используем несколько условий: eq, gt и like.
Можно использовать следующие условия:

  • eq – равно;
  • ne – не равно;
  • gt – больше;
  • ge – больше или равно;
  • lt – меньше;
  • le – меньше или равно;
  • like – соответствие маске.
В окончании добавлю еще пару примечаний:
Платформа раз в минуту считывает данные из файла настроек, поэтому не стоит горячится и сразу проверять файлы, только спокойствие все будет через минуточку)
Если Вы не собираетесь посылать в фирму 1с данные дампов, то не зачем их и хранить, в файле настроек не указывайте строку dump location .
Если Вы собираетесь хранить файлы ТЖ в каталоге отличном от каталога по умолчанию, то лучше предварительно создайте его сами.

В тестовой базе я умышленно создал превышение таймаута на блокировке,
На примере этого

Технологический журнал и его настройка

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

В приведенных ниже примерах предполагается, что 1С:Предприятие установлено стандартным способом и его загрузочные модули расположены в каталоге C:\Program Files\1cv82\bin .

Важно иметь в виду, что в каталог технологического журнала при некоторых его настройках могут выводится данные очень большого объема. Поэтому на диске, где будут храниться данные журнала регистрации, должно быть достаточно места. Для работы технологического журнала необходимо, чтобы пользователи, от имени которых запускаются приложения 1С:Предприятия (как клиентские, так и серверные), имели полные права на каталог технологического журнала (D : \ 1cv82\logs ), и право на чтение выше лежащего каталога (D : \ 1cv82 ).

ВНИМАНИЕ! Необходимо иметь в виду, что каталог технологического журнала не предназначен для хранения в нем файлов, которые не относятся к технологическому журналу. Поэтому не следует размещать в нем дампы или использовать каталог, который может содержать файлы, не относящиеся к технологическому журналу «1С:Предприятия». Если в каталоге, который указан в качестве каталога
технологического журнала, имеются посторонние файлы, то указание каталога считается неверным, и технологический журнал не создается.

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

Технологический журнал выключен

Если файл logcfg.xml отсутствует или имя файла не равно «logcfg.xml » (например logcfg _1 .xml )в каталоге C:\Program Files\1cv82\bin\conf , то технологический журнал не создается. Если файл logcfg.xml необходим для правильной настойки дампов, то он не должен содержать ни одного элемента log .

Следующий пример определяет необходимость построения полного дампа приложения при его аварийном завершении. Дампы помещаются в каталог: D:\1cv82\dumps .

Полный технологический журнал

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

Обращения к СУБД

Следующий конфигурационный файл определяет, что технологический журнал будет содержать только обращения 1С:Предприятия к СУБД, а так же информацию об ошибочных ситуациях. Объем выводимой информации меньше, чем при полном технологическом журнале, но тоже может быть очень большим.

Действия администратора и ошибки

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

Ошибки и долгие операции

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

).lt;/eventlogcfg

28.12.2016

Настройка технологического журнала 1С

Для начала скажем о том, что по умолчанию технологический журнал включен. Он работает и фиксирует события всего в двух случаях:
Аварийное завершение работы процессов кластера 1С (ragent, rmngr или rphost) Дамп фиксируется в каталоге %LOCALAPPDATA%\1C\1Cv82\dumps - для 1С 8.2 %LOCALAPPDATA%\1C\1Cv8\dumps - для 1С 8.3 Если используется платформа 8.3 и возникает событие SYSTEM с уровнем Error Логи таких событий хранятся 24 часа, затем платформе удалит файлы логов %LOCALAPPDATA%\1C\1Cv8\logs - для 1С 8.3

Инструкция по настройке технологического журнала

Порядок действий при настройке технологического журнала:
  • Завести специальную папку для технологического журнала (например C:\LOG), и для дампов (например C:\dumps)
  • Настроить файл logcfg.xml для сбора сообщений об ошибках (ниже примеры настройки)
  • Поместить файл logcfg.xml в необходимый каталог (ниже пример)
  • Проверить права на запись в каталоги логов и дампов
  • Убедиться через минуту что создаются файлы логов (если не создаются, значит настройки не корректны)
  • Возможная ошибка - разный регистр букв в именах каталогов (должен совпадать)
  • Возможная ошибка - в файле настройки в конце имени каталога слеш "\" не нужен

Настройка технологического журнала (файл logcfg.xml)

Отметим, что наиболее часто используемым каталогом расположения конфигурационного файла, является C:\Program Files\1Cv82\conf - для платформы 8.2 C:\Program Files\1Cv8\conf - для платформы 8.3 В этом случае настройки будут действовать во всех версиях платформы установленных на сервере. Также стоит сказать, что именно этот вариант является рекомендуемым.
Каждые 60 секунд, настройки считываются рабочими процессами кластера. Чтение настроек каждым процессом, происходит независимо от других процессов.

Пример настройки полного технологического журнала

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

Пример настройки "на каждый день"

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

Андрей Луконькин

Технологический журнал «1С:Предприятие 8.1»

Система «1С:Предприятие 8.1» обеспечивает возможность ведения технологического журнала, в котором помещается информация от всех приложений, относящихся к «1С:Предприятие».

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

Файлы журнала имеют текстовый формат, каждый файл содержит события за 1 час.

Технологический журнал может вестись на любом компьютере, на котором инсталлирована система «1С:Предприятие 8.1».

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

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

Файл logcfg.xml должен быть помещен в подкаталог conf каталога загрузочных модулей «1С:Предприятие» (обычно это каталог C:\Program Files\1cv81\bin).

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

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

Состав конфигурационного файла logcfg.xml

По мере выхода новых версий платформы «1С:Предприятие» отслеживаемые события могут меняться и дополняться, но общий принцип структуры остается единым.

Элемент определяет настройки технологического журнала. Он может содержать несколько элементов и один элемент .

Элемент определяет каталог технологического журнала. Его атрибут location – это имя каталога, в котором будет размещаться технологический журнал. Атрибут history – это количество часов, через которое информация будет удаляться из технологического журнала.

Например:

Это означает, что файлы будут храниться 12 часов в каталоге c:\1c8logs.

Элемент определяет каталог для записи дампов аварийного завершения программы. Чтобы отключить запись дампов, нужно в элементе установить значение параметра «create = "0"» или «create = "false"».

В элемент могут быть вложены элементы и Состав которых определяет условие записи в журнал каждого события и условия записи каждого свойства события.

Событие включается в журнал, если оно удовлетворяет всем условиям внутри хотя бы одного из элементов . Условия задаются элементами:

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

Например:

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

Возможные имена групп событий смотрите в таблице.

Возможные имена групп событий

PROC

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

SCOM

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

EXCP

Исключительные ситуации приложений системы «1С:Предприятие 8.1», которые штатно не обрабатываются и могут послужить причиной аварийного завершения серверного процесса или подсоединенного к нему клиентского процесса

EXCPCNTX

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

SDBL

События, связанные с исполнением запросов к модели базы данных «1С:Предприятие 8.1»

QERR

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

PERR

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

CONN

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

ADMIN

Управляющие воздействия администратора кластера серверов «1С:Предприятия 8.1»

DBV8DBEng

Исполнение операторов SQL файловой СУБД

DBMSSQL

Исполнение операторов SQL СУБД Microsoft SQL Server

DBPOSTGRS

Исполнение операторов SQL СУБД PostgreSQL

Исполнение операторов SQL СУБД DB2

CALL

Удаленный вызов

TLOCK

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

Элемент Определяет условия попадания в журнал значения ключевого свойства события, имя которого является значением атрибута name.

Элемент включает записи в журнал всех свойств событий.

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

Рассмотрим несколько примеров использования технологического журнала.

Такой конфигурационный файл определяет вывод в технологический журнал всех событий вместе со всеми свойствами. Журнал будет сохраняться в течение 8 часов.

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

Этот конфигурационный файл определяет, что технологический журнал будет содержать только обращения «1С:Предприятие» к СУБД и информацию об ошибочных ситуациях.

Файл logcfg.xml легко создается в любом текстовом редакторе, но также можно воспользоваться внешней обработкой «Настройка технологического журнала» с диска ИТС (февраль 2008 г.).

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

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

Заключение

Таким образом, использование технологического журнала позволяет зафиксировать широкий спектр действий и событий, а также дает возможность проанализировать возникшие проблемы при работе с «1С:Предприятие». На базе технологического журнала построена вся работа специализированной конфигурации «1С:Центр управления производительностью» (см. выпуск журнала №3(64) за март 2008 года).

Также возможно создание собственных систем, использующих структурированные файлы журнала для проведения анализа данных.