Включение и настройка технологического журнала 1с 8.4. Технологический журнал

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;
— код Transact-SQL для СУБД;
— интерактивные действия пользователей;
— сообщения об ошибках;
— утечки памяти.

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

Для включения технологического журнала необходимо:
Создать файл logcfg.xml в папке C:\Program Files (x86)\1cv82\8.2.15.301\bin\conf (путь — каталог 1С предприятия) на сервере 1С Предприятия.
После этого необходимо прописать в файле logcfg.xml пути к созданным папкам (где Указанный путь 1 — путь к логам, а Указанный путь 2 — путь к дампам):

Вот пример настроек с моего сервера:























После выполнения данных действий приложение 1cv8 автоматически начнет сохранение системной информации обо всех ошибках, произошедших в системе в данных каталогах.
После выполнения анализа, технологический журнал можно отключить, удалив или переименовав файл logcfg.xml.
Предполагается, что на компьютерах, где этот журнал будет включатся, файлы могут занимать достаточно большой объем места на диске (относительно, конечно). Поэтому рекомендую указывать пути на диски с большим объемом свободного места.
1) Для успешного создания логов, нужно создать каталоги для логов (например «D:\1Clog») и дапмов (например «D:\1Cdumps»), лучше создавать не на системном диске.
2) К этим каталогам ТЖ должны быть обязательно настроены права:
— полные права на каталог технологического журнала;
— права на чтение владельца каталога технологического журнала.
Примечание. Если все равно не пишется ТЖ, то дать права всем на эту папку (временно, чтобы убедиться что дела в правах).
3) В каталоге технологического журнала не должно быть посторонних файлов. Каталог, в котором имеются посторонние файлы не позволит создавать журнал (логи).
4) Место хранения dumps и logs не хранить вместе, потому что через указанный интервал (по умолчанию 1 час) содержимое польностью перетирается и вы потеряете дампы
ТЖ лучше настраивать (с помощью фильтров — тэгов logcfg.xml) только на исследуемые события, остальное не собирать, иначе словите «отсутствие места на диске» и тормоза в быстродействии сервера.
1) Легче выполнять настройку фильтров с помощью обработки с ИТС НастройкаТехнологическогоЖурнала.epf, но при этом помнить, что новые фичи последних релизов в обратке могут отстутствавать (каждая новая версия добавляет новые возможности, в обработки они не отражены). В этом случаи корректировать файл logcfg.xml руками.
2) Чтобы логи перестали собираться достаточно переименовать файл, перезапускать сервер не надо, настройки пересчитываются каждую минуту «на лету»
3) настроить logcfg.xml для фильтрации событий по определённой ИБ нужно использовать «p:processName=»

С помощью этих настроек я собираю информацию о:

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

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

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

    управляющие воздействия администратора кластера серверов 1С:Предприятия 8.2

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

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

Коллеги, продолжаем серию статей, посвященных технологическому журналу.

Сегодня мы покажем практику анализа логов ТЖ.

Другие статьи из серии «Технологический журнал»:

Анализ логов технологического журнала

Что Вы узнаете из этой статьи?

  • Более подробно познакомимся с логами в 1С: Предприятие 8
  • Подробно изучим формат лога Технологического журнала
  • Разберем на примере лог с записанными данными

Давайте посмотрим что произойдет, если мы создадим файл logcfg.xml с указанной выше структурой и поместим его в каталог «C:\Program Files\1Cv82\conf»

Подождем 60 секунд и откроем каталог «C:\1C_Info\Logs» , т.к. именно его мы указывали в 3 строке файла logcfg.

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

В результате в каталоге мы видим 3 подкаталога.

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

Каталог создается по шаблону ИмяПроцесса_PIDПроцесса. PID нужен для того, чтобы отличать процессы с одинаковым именем.

Файл лога именуется по шаблону ГГММДДЧЧ.log.

Если лог старше чем количество часов указанное в параметре history файла logcfg , то он автоматически удаляется платформой.

Давайте подробно разберем формат лога технологического журнала.

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

Строка лога имеет формат:

Мм:сс.тттт-д, <ИмяСобытия>, <Уровень>, <Свойства>

мм – номер минуты в текущем часе.

сс – номер секунды в текущей̆ минуте.

тттт – номер десятитысячной доли текущей̆ секунды, для 8.3 здесь отображается номер миллионной доли.

д – длительность события в десятитысячных долях секунды, для 8.3 в миллионных долях.

<ИмяСобытия> – наименование события.

<Уровень> – уровень события в стеке текущего потока.

<Свойства> - свойства события разделенные запятыми, значения свойств проставлены через знак «=» .

Разберем на примере.

Есть лог со следующим содержимым:

00:16 - это минуты и секунды окончания события. Дату и час события можно взять из названия файла лога. Событие завершилось 6 апреля 2015 года в 11 часов 00 минут 16 секунд. 8640 – для 8.2 это десятитысячные доли секунды. А для 8.3 - миллионные доли секунды момента завершения события. 1 – это длительность события. В 8.2 длительность указывается в десятитысячных долях секунды, в 8.3 в миллионных долях секунды. Если необходимо поставить фильтр на длительность, то можно использовать имя свойства «Duration». DBMSSQL – это имя события. В данном случае выполнение инструкций СУБД MS SQL Server. 3 – уровень события. Далее идут свойства события DBMSSQL ,при этом у каждого события свой набор свойств.Полный список свойств для всех событий можно посмотреть в руководстве администратора. Здесь мы подробно рассмотрим свойства только для текущего события. Process – Описывает процесс для которого пишется данный лог. Это свойство есть у всех событий. В моем случае пишется лог процесса rphost. P:processName – имя информационной базы 1С. Событие было сформировано в базе под названием Deadlock. T:clientID - идентификатор соединения с клиентом по TCP. T:applicationName – идентификатор клиентской программы. Т.е. кто именно вызвал событие, в моем случае это фоновое задание. T:connectID – номер соединения с информационной базой. SessionID – номер сеанса, назначенный текущему потоку. Если текущему потоку не назначен сеанс, то свойство не добавляется. Usr – имя пользователя информационной базой под которым выполняется данный поток. Если пользователь не определен, подставляется значение DefUser. Trans – показывает открыта транзакция на момент начала события или нет. 1 – открыта, 0 – нет. dbpid – номер соединения сервера 1С с сервером баз данных. SQL – текст инструкции SQL. Чаще всего здесь содержится текст запроса SQL с параметрами. Rows – количество строк, которые вернул запрос. RowsAffected – количество строк, которые изменил запрос в базе данных. Context – какая строка кода на языке 1С породила данное событие. Наверное, самое интересное для нас событие.

Бурмистров Андрей

В следующих статьях рассмотрим «События», а также их фильтрацию в ТЖ .

А пока закрепите полученный материал на своей тестовой информационной базе:)

Коллеги, начинаем серию статей, посвященных технологическому журналу.

В этой серии мы с вами рассмотрим практику использования полезного инструмента для расследования проблем производительности и стабильности 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)

В этом случае настройки ТЖ будут действовать для всех версий , которые установлены на данном компьютере, и для всех пользователей. Этот вариант используется чаще всего, и именно его рекомендуем применять.

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

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

Чтобы настроить ТЖ только для одной версии платформы, размещаем logcfg.xml в каталоге:

C:\Program Files\1Cv82\8.2.19.106\bin\conf

Где 8.2.19.106 – это номер нужной вам версии.

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

Тогда размещаем logcfg в каталоге:

%USERPROFILE%\Local Settings\Application Data\1C\1Cv82\Conf

Для ОС Windows Vista и старше:

%LOCALAPPDATA%\1C\1Cv82\Conf

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

Настройки из logcfg считываются не моментально, а каждые 60 секунд, причем каждый из процессов кластера считывает файл настроек независимо от других процессов. Например, сначала могут появиться логи процесса rmngr и только через 45 секунды логи rphost.

Для выключения ТЖ достаточно удалить или переименовать файл logcfg.xml .

Бурмистров Андрей

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

А пока закрепите полученный материал на своей тестовой информационной базе:)

(или часть, используя фильтр), например:
— исполняемый код 1С:Предприятие 8;
— код Transact-SQL для СУБД;
— интерактивные действия пользователей,

— сообщения об ошибках,

Примечание. Если все равно не пишется ТЖ, то дать права всем на эту папку (временно, чтобы убедиться что дела в правах).

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

4) Место хранения dumps и logs не хранить вместе, потому что через указанный интервал (по умолчанию 1 час) содержимое польностью перетирается и вы потеряете дампы

Настройка

ТЖ лучше настраивать (с помощью фильтров — тэгов logcfg.xml) только на исследуемые события, остальное не собирать, иначе словите «отсутствие места на диске» и тормоза в быстродействии сервера.

1) Легче выполнять настройку фильтров с помощью обработки с ИТС НастройкаТехнологическогоЖурнала.epf, но при этом помнить, что новые фичи последних релизов в обратке могут отстутствавать (каждая новая версия добавляет новые возможности, в обработки они не отражены). В этом случаи корректировать файл logcfg.xml руками.

2) Чтобы логи перестали собираться достаточно переименовать файл, перезапускать сервер не надо, настройки пересчитываются каждую минуту «на лету»

3) настроить logcfg.xml для фильтрации событий по определённой ИБ нужно использовать «p:processName=»

4) http://users.v8.1c.ru/Adm1936.aspx — примеры настроек

Подробности

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

1) Сложности чтения ТЖ:

— Требует хорошего понимания архитектуры работы системы

— Тексты запросов регистрируются на внутреннем языке 1С:Предприятия и на языке DBMS

2) Файлы технологического журнала хранятся в подкаталогах. Имя каждого подкаталога технологического журнала одного процесса будет иметь вид: <ИмяПроцесса>_<ИдентификаторПроцесса>, например: rphost_4076. Имя файла журнала задается шаблоном ГГММДДЧЧ.log. Например, в журнале 07051819.log имя файла образовано от 2007 мая 18, 19 часов)

3) Журнал для анализа можно выгрузить в эксель, используя разделителем запятую например

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

если вы не нашли ответ на ваш вопрос, давайте расширим материал