Андрей Луконькин
Технологический журнал «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С:Предприятие» отслеживаемые события могут меняться и дополняться, но общий принцип структуры остается единым.
Элемент
Элемент
Например:
Это означает, что файлы будут храниться 12 часов в каталоге c:\1c8logs.
Элемент
В элемент
Событие включается в журнал, если оно удовлетворяет всем условиям внутри хотя бы одного из элементов
- 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 |
Управление транзакционными блокировками в управляемом режиме |
Элемент
Элемент
Используя свойства элемента Рассмотрим несколько примеров использования технологического журнала. Такой конфигурационный файл определяет вывод в технологический журнал всех событий вместе со всеми свойствами. Журнал будет сохраняться в течение 8 часов.
Следующий конфигурационный файл будут регистрировать все исключительные ситуации, связанные с блокировками и ожидания, превысившие 10 секунд (длительность событий выражается в сотнях микросекунд).
Этот конфигурационный файл определяет, что технологический журнал будет содержать только обращения «1С:Предприятие» к СУБД и информацию об ошибочных ситуациях.
Файл logcfg.xml легко создается в любом текстовом редакторе, но также можно воспользоваться внешней обработкой «Настройка технологического журнала» с диска ИТС (февраль 2008 г.).
Используя визуальный редактор, можно добавлять записываемые события, свойства и условия отображения свойств.
После редактирования появляется готовый текст конфигурационного файла, который можно сохранить или скопировать.
Заключение
Таким образом, использование технологического журнала позволяет зафиксировать широкий спектр действий и событий, а также дает возможность проанализировать возникшие проблемы при работе с «1С:Предприятие». На базе технологического журнала построена вся работа специализированной конфигурации «1С:Центр управления производительностью» (см. выпуск журнала №3(64) за март 2008 года).
Также возможно создание собственных систем, использующих структурированные файлы журнала для проведения анализа данных.
Не так давно открыл для себя нечто новое, оказывается есть технологический журнал (ТЖ). Что это за зверь такой и для чего он нужен попытаюсь ответить в этой статье.
Как говорить сама 1С Технологический журнал
системы 1С:Предприятие 8 может использоваться для анализа технологических проблем работы системы и анализа аварийных завершений. Он регистрирует информацию от всех приложений системы 1С:Предприятие 8, работающих на данном компьютере.
Из этого определения сразу становится очевидность полезности этого инструмента, из него мы можем узнать например:
- при выполнении какого кода «падают» рабочие процессы сервера
- какие запросы работают медленно и откуда они вызываются
- Посмотреть были ли взаимоблокировки или блокировки по таймауту
- и многое другое.
Файлы эти можно разделить на 2 группы
- файлы дампа
- файлы логов
Дампы – это файл с расширением 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">
Целесообразней настроить ТЖ только на интересующие нас события, например мы хотим посмотреть есть были ли в системе ошибки и долгие операции (>10 секунд)
С помощью настроек ТЖ можно отфильтровать практически любые интересующие нас события.
Допустим хотим видеть в ТЖ только ошибки и информацию о запросах к таблице AccRg105, которые длились более 3 секунд. Тогда logcfg должен выглядеть следующим образом.
Между двумя работает логическое ИЛИ, т.е. при возникновении любого из событий оно будет записано в ТЖ.
Внутри одного работает логическое И, т.е. данное событие будет записано только в том случае, если будут выполнены все условия внутри одного.
При такой настройке событие EXCP будет записываться всегда, а событие DBMSSQL только в том случае, если в любом месте текста запроса содержится строка «AccRg105» и при этом запрос выполнялся дольше 3 секунд. Фильтр на длительность события, надо ставить в десятитысячных долях секунды независимо от версии платформы. В данном примере мы используем несколько условий: eq, gt и like.
Можно использовать следующие условия:
- eq – равно;
- ne – не равно;
- gt – больше;
- ge – больше или равно;
- lt – меньше;
- le – меньше или равно;
- like – соответствие маске.
Платформа раз в минуту считывает данные из файла настроек, поэтому не стоит горячится и сразу проверять файлы, только спокойствие все будет через минуточку)
Если Вы не собираетесь посылать в фирму 1с данные дампов, то не зачем их и хранить, в файле настроек не указывайте строку dump location .
Если Вы собираетесь хранить файлы ТЖ в каталоге отличном от каталога по умолчанию, то лучше предварительно создайте его сами.
В тестовой базе я умышленно создал превышение таймаута на блокировке,
На примере этого
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С:Предприятия"I.
Технологический Журнал (далее ТЖ) позволяет протоколировать все события 1С:Предприятия (или часть, используя фильтр), например:
- исполняемый код 1С:Предприятие 8.1;
- код Transact-SQL для СУБД;
- интерактивные действия пользователей,
Сообщения об ошибках,
Утечки памяти.
В случаи аварийного завершения журнал позволяет сделать дамп памяти и копию экрана для передачи разработчикам.
II.
Журнал настраивается с помощью файла logcfg.xml в папку программы C:\Program Files\1cv81\bin\conf
1) Для успешного создания логов, нужно создать каталоги для логов (например C:\Program Files\1cv81\bin\logs) и дапмов (например C:\Program Files\1cv81\bin\dumps)
2) К этим каталогам ТЖ должны быть обязательно настроены права:
Полные права на каталог технологического журнала;
Права на чтение владельца каталога технологического журнала.
Примечание. Если все равно не пишется ТЖ, то дать права всем на эту папку (временно, чтобы убедиться что дела в правах).
3) В каталоге технологического журнала не должно быть посторонних файлов. Каталог, в котором имеются посторонние файлы не позволит создавать журнал (логи).
4) Место хранения dumps и logs не хранить вместе, потому что через указанный интервал (по умолчанию 1 час) содержимое польностью перетирается и вы потеряете дампы
III. ТЖ лучше настраивать (с помощью фильтров - тэгов logcfg.xml) только на исследуемые события, остальное не собирать, иначе словите "отсутствие места на диске" и тормоза в быстродействии сервера.
1) Легче выполнять настройку фильтров с помощью обработки с ИТС НастройкаТехнологическогоЖурнала.epf, но при этом помнить, что новые фичи последних релизов в обратке могут отстутствавать (каждая новая версия добавляет новые возможности, в обработки они не отражены). В этом случаи корректировать файл logcfg.xml руками.
2) Чтобы логи перестали собираться достаточно переименовать файл, перезапускать сервер не надо, настройки пересчитываются каждую минуту "на лету"
3) настроить logcfg.xml для фильтрации событий по определённой ИБ нужно использовать "p:processName="
4) http://users.v8.1c.ru/Adm1936.aspx - примеры настроек
IV. Понятно, что собрать логи мало, их еще нужно обработать для решения конкретной задачи.
1) Сложности чтения ТЖ:
Требует хорошего понимания архитектуры работы системы
Тексты запросов регистрируются на внутреннем языке 1С:Предприятия и на языке DBMS
2) Файлы технологического журнала хранятся в подкаталогах. Имя каждого подкаталога технологического журнала одного процесса будет иметь вид: <ИмяПроцесса>_<ИдентификаторПроцесса>, например: rphost_4076. Имя файла журнала задается шаблоном ГГММДДЧЧ.log. Например, в журнале 07051819.log имя файла образовано от 2007 мая 18, 19 часов)
3) Журнал для анализа можно выгрузить в эксель, используя разделителем запятую например
4)1С:ЦУП использует для своих аналитических показалей логи технологического журнала. При использовании ЦУП другие данные собираться не должны, удалите logcfg.xml вручную, ЦУП сам создаст файл с нужными настройками.
5) Других парсеров логов от 1С нет, есть http://partners.v8.1c.ru/forum/getfile.jsp?name=ObrabotkaTehnologiceskogoGurnala.epf
http://partners.v8.1c.ru/forum/thread.jsp?id=576266#576266
V. Возможные ошибки и доп. информация:
Ищем логи в каталоге на сервере хотя для 64 разрядного сервера другой каталог программы
Отследить незавершившийся запрос; событие технологического журнала DBMSSQL выводится только в момент окончания выполнения запроса. Если запрос долго не может выполниться, то его выполнение можно прервать, после чего будут выведены в технологический журнал связанные с ним события.
<
config xmlns=
"http:>
<
log location=
"C:\Program Files\1cv81\logs"
history=
"24"
>
<
event>
<
eq property=
"Name"
value=
"EXCP"
/>
<
/event>
<
event>
<
eq property=
"Name"
value=
"SDBL"
/>
<
eq property=
"Func"
value=
"BeginTransaction"
/>
<
/event>
<
event>
<
eq property=
"Name"
value=
"DBMSSQL"
/>
<
ge property=
"Duration"
value=
"30000"
/>
<
/event>
<
property name=
"All"
/>
<
/log>
<
/config>
Более подробно с особенностями использования технологического журнала можно ознакомиться по материалам семинара партнеров 2 - 4 марта 2007 года, доклад "Средства диагностики работы системы "1С:Предприятия 8.1"".
Курс где обучают данному вопросу http://www.1c.ru/news/info.jsp?id=9144
На все вопросы есть ответ в "C:\Program Files\1cv81\AddDoc\RU\V8AddDoc81.htm", Книга «1С:Предприятие 8.1. Конфигурирование и администрирование», Глава 21. Администрирование, Технологический журнал
если вы не нашли ответ на ваш вопрос, давайте расширим материал
Коллеги, начинаем серию статей, посвященных технологическому журналу.
В этой серии мы с вами рассмотрим практику использования полезного инструмента для расследования проблем производительности и стабильности 1С:Предприятие – технологического журнала.
Далеко не все специалисты о нем знают, а умеют грамотно использовать лишь немногие. Попытаемся исправить ситуацию:)
Описание и включение технологического журнала
Что Вы узнаете из этой статьи?
- Описание и предназначение инструмента Технологический журнал
- Как включить Технологический журнал в 1С:Предприятие 8
- Принцип формирования и сохранения логов и дампов
Описание ТЖ
ТЖ предназначен для расследования ошибок, анализа и диагностики различных проблем в работе платформы 1С:Предприятие .
С помощью ТЖ можно выяснить, какие запросы работают медленно и откуда они вызываются, при выполнении какого кода «падают» рабочие процессы сервера, куда «утекает» память и многое, многое другое.
Все инструменты анализа производительности платформы используют ТЖ для получения информации. При желании и доскональном изучении вопроса с помощью ТЖ вы можете написать свой инструмент анализа производительности.
ТЖ можно собирать как для процессов сервера 1С, так и для клиентских приложений. Соответственно, и набор событий, которые можно фиксировать в ТЖ, будет отличаться.
Клиентские логи и дампы крайне редко вызывают интерес, поэтому в статье мы будем рассматривать ТЖ исключительно с точки зрения сервера. Тем не менее все, что здесь написано, также подходит и для клиентских логов.
С помощью ТЖ можно собирать логи и настраивать формирование дампов в случае аварийного завершения работы процесса.
Логи – это файлы с расширением .log , где информация хранится в текстовом виде.
Дампы
– это файл с расширением .mdmp
, который содержит в себе содержимое оперативной памяти процесса на момент «падения».
Дамп бывает крайне необходим для расследования проблем стабильности платформы. Мы не можем самостоятельно анализировать дампы, т.к. у нас нет исходного кода платформы, но мы можем отправить их в техническую поддержку или на партнерский форум и получить решение нашей проблемы.
Включение ТЖ
По умолчанию технологический журнал включен и работает, но собирает очень ограниченный объем данных.
Под минимальным объемом данных подразумеваются 2 вещи:
1) Формирование дампов минимального размера в случае аварийного завершения работы процессов кластера 1С (ragent, rmngr или rphost ).
По умолчанию дамп создается в каталоге:
%USERPROFILE%\Local Settings\Application Data\1C\1Cv82\dumps
Если вы используете Windows Vista и выше, то будет использоваться каталог:
%LOCALAPPDATA%\1C\1Cv82\dumps
Для 8.3 вместо каталога 1Cv82 используется 1Cv8 .
2) Для 8.3 в минимальный ТЖ входит формирование логов с одним событием SYSTEM с уровнем Error .
Логи сохраняются в каталоге:
%USERPROFILE%\Local Settings\Application Data\1C\1Cv8\logs
Для Windows Vista и старше используется каталог:
%LOCALAPPDATA%\1C\1Cv8\logs
Данные логи по умолчанию будут хранится 24 часа, после чего платформа будет удалять файлы логов, которые превышают этот порог.
Чаще всего информации из ТЖ по умолчанию недостаточно, и необходимо его настраивать вручную.
Чтобы произвести тонкую настройку ТЖ, необходимо создать файл logcfg.xml с определенной структурой в определенном месте.
Данный файл необходимо разместить в каталоге:
C:\Program Files\1Cv82\conf (для 8.3 каталог 1Cv8)
В этом случае настройки ТЖ будут действовать для всех версий 1С , которые установлены на данном компьютере, и для всех пользователей. Этот вариант используется чаще всего, и именно его рекомендуем применять.
При настройках ЦУПа , облачных сервисов контроля производительности и прочих инструментов, где надо указывать путь к logcfg , также лучше использовать именно этот каталог, иначе при обновлении платформы или изменении имени пользователя, под которым запущена служба сервера 1С , описанные инструменты перестанут работать и придется менять настройку.
Тем не менее есть и другие варианты, хотя и используются они гораздо реже. Опишу лишь то, что с наибольшей вероятностью вам может понадобится.
Чтобы настроить ТЖ только для одной версии платформы, размещаем logcfg.xml в каталоге:
C:\Program Files\1Cv82\8.2.19.106\bin\conf
Где 8.2.19.106 – это номер нужной вам версии.
Крайне редко, но все же, может возникнуть необходимость настроить ТЖ отдельно для каждого пользователя, под которым запущена служба сервера 1С .
Тогда размещаем logcfg в каталоге:
%USERPROFILE%\Local Settings\Application Data\1C\1Cv82\Conf
Для ОС Windows Vista и старше:
%LOCALAPPDATA%\1C\1Cv82\Conf
Это может потребоваться, если у вас, например, 1 служба сервера 1С используется как рабочая, а вторая для отладки. При необходимости можно запустить службы под разными пользователями и собирать ТЖ только для одной из них, чтобы не загружать второй сервер и не собирать в логах лишние данные, либо сделать для каждой из служб свои настройки ТЖ .
Настройки из logcfg считываются не моментально, а каждые 60 секунд, причем каждый из процессов кластера считывает файл настроек независимо от других процессов. Например, сначала могут появиться логи процесса rmngr и только через 45 секунды логи rphost.
Для выключения ТЖ достаточно удалить или переименовать файл logcfg.xml .
Бурмистров Андрей
В следующих статьях рассмотрим нюансы настройки ТЖ и практику использования.
А пока закрепите полученный материал на своей тестовой информационной базе:)