Логи сервера 1с – Максимально эффективная по скорости работы — серверная схема, для клиент-серверной 1С 8.х

Содержание

Технологический журнал в 1С: настройка и анализ

Технологический журнал — это средство логирования действий платформы происходящих на самом низком уровне. Данные предоставляемые технологическим журналом позволяют выявить причины «тормозов», зависаний, утечек памяти и «падений» рабочих процессов.

Общая информация

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

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

Технологический журнал может продуцировать два вида информации:

  • Логи — файлы с расширением *.log, в которых в текстовом виде храниться информация о произошедших событиях;
  • Дампы — файлы с расширением *.mdmp, в которых хранится содержимое оперативной памяти рабочего процесса на момент его «падения». Самостоятельный анализ дампа невозможен, так как исходный код платформы закрыт. Единственный способ проанализировать дамп — отправить  его в тех. поддержку или на партнерский форум.

Включение технологического журнала

По умолчанию технический журнал включен и работает, дампы хранятся здесь:

%LOCALAPPDATA%\1C\1cv8\dumps (пример: C:\Users\USR1CV8\AppData\Local\1C\1cv8\dumps)

а логи здесь:

%LOCALAPPDATA%\1C\1cv8\logs (пример: C:\Users\USR1CV8\AppData\Local\1C\1cv8\logs)

USR1CV8 — имя пользователя под которым работает сервер 1С. Логи хранятся 24 часа, при этом делятся на файлы — каждый час новый файл.

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

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

Выбор директории зависит от задачи: если нужно настроить тех. журнал для всех версий 1С, то файл настроек нужно разместить здесь:

C:\Program Files\1cv8\conf

Если настроить нужно конкретную версию, то здесь (зависит от версии):

C:\Program Files\1cv8\8.3.13.1513\bin\conf

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

C:\Users\USR1CV8\AppData\Local\1C\1cv8\conf

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

 

Создание файла настроек

Теперь перейдем к содержимому файла настроек logcfg.xml.

Вначале приведем пример файла настроек:

<config xmlns="http://v8.1c.ru/v8/tech-log"> <dump location="c:\1c_info\dumps" create="1" type="3"/> <log location="c:\1c_info\logs" history="48"> <event> <eq property="name" value="EXCP"/> </event> <event> <eq property="name" value="PROC"/> </event> <event> <eq property="name" value="ADMIN"/> </event> <event> <eq property="name" value="EXCPCNTX"/> </event> <property name="all"> </property> </log> </config>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<config xmlns="http://v8.1c.ru/v8/tech-log">

    <dump location="c:\1c_info\dumps" create="1" type="3"/>

    <log location="c:\1c_info\logs" history="48">

        <event>

            <eq property="name" value="EXCP"/>

        </event>

        <event>

            <eq property="name" value="PROC"/>

        </event>

        <event>

            <eq property="name" value="ADMIN"/>

        </event>

        <event>

            <eq property="name" value="EXCPCNTX"/>

        </event>

        <property name="all"> </property>

    </log>

</config>

<dump>

Этот элемент отвечает за формирование дампов памяти. Атрибуты:

location — каталог в который будут сохраняться дампы, значение этого атрибута должно отличаться от значений такого же атрибута у других элементов (<log> и <defaultlog>).

create — записывать (1) или не записывать (0) дампы.

type — тип дампа, любая комбинация (сумма) из перечисленных ниже флажков:

  • 0 — минимальный;
  • 1 — дополнительный сегмент данных;
  • 2 — содержимое всей памяти процесса;
  • 4 — данные хэндлов;
  • 8 — оставить в дампе только информацию, необходимую для восстановления стеков вызовов;
  • 16 — если стек содержит ссылки на память модулей, то добавить флажок флаг 64;
  • 32 — включить в дамп память из-под выгруженных модулей;
  • 64 — включить в дамп память, на которую есть ссылки;
  • 128 — добавить в дамп подробную информацию о файлах модулей;
  • 256 — добавить в дамп локальные данные потоков;
  • 512 — включение в дамп памяти из всего доступного виртуального адресного пространства.

Компания «1С» советует использовать значение 3 (1+2), так как в большинстве случаев этого достаточно.

<log>

Этот элемент определяет каталог тех. журнала и события которые в него попадают. Таких элементов может быть несколько т.е. сервер 1С может вести сразу несколько тех. журналов с различными настройками. Тем не менее компания «1С» не рекомендует вести более 20 тех. журналов одновременно, так как это может замедлить работу системы. Может содержать внутри себя элементы <event> и <property>. Атрибуты:

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

history — время жизни логов, в часах.

<event>

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

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

<property>

Определяет условия попадания в журнал значения свойства события.

Элемент <property name=»all»> </property> включает записи в журнал всех свойств событий.

В статье упоминаются далеко не все элементы конфигурационного файла, а те, что все-таки упоминаются, рассмотрены поверхностно. Самое полное описание всех элементов конфигурационного файла, с примерами, советами и пояснениями имеется на сайте ИТС (ссылка), а также в руководстве администратора.

Руководство администратора (желтая, не очень толстая книжечка) можно легко найти в электронном виде, да и бумажном оно встречается достаточно часто, так как входит во многие поставки продуктов компании 1С.

На этом все, надеюсь эта статья была Вам полезна.

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Загрузка...

1c-programmer-blog.ru

Технологический журнал платформы 1С:Предприятие 8

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

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

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

«ТЖ: Настройка»

«ТЖ: События и фильтры»

«ТЖ: Описание и включение»

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

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

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

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

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

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

Технологический журнал 1С. Анализ логов

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

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

Каждый час создается отдельный файл с логом.

Технологический журнал 1С. Анализ логов

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

Например, у меня первый лог за 6 апреля 2015 года 10 часов утра.

Если лог старше чем количество часов указанное в параметре history

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

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

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

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

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

Где:

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

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

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

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

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

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

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

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

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

Технологический журнал 1С. Анализ логов

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С породила данное событие. 
    Наверное, самое интересное для нас событие.

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

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

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

PDF-версия статьи для участников группы ВКонтакте

Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.

Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.

Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)

Если Вы уже участник группы – нужно просто повторно авторизоваться в ВКонтакте, чтобы скрипт Вас узнал. В случае проблем решение стандартное: очистить кеш браузера или подписаться через другой браузер.

Если вы хотите узнать больше об оптимизации 1С и быть экспертом в этой области – пройдите наш новый курс «Оптимизация производительности 1С:Предприятие».

xn----1-bedvffifm4g.xn--p1ai

Технологический журнал 1С – Проект 'Курсы 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.

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

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

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

PDF-версия статьи для участников группы ВКонтакте

Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.

Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.

Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)

Если Вы уже участник группы – нужно просто повторно авторизоваться в ВКонтакте, чтобы скрипт Вас узнал. В случае проблем решение стандартное: очистить кеш браузера или подписаться через другой браузер.

Если вы хотите узнать больше об оптимизации 1С и быть экспертом в этой области – пройдите наш новый курс «Оптимизация производительности 1С:Предприятие».

xn----1-bedvffifm4g.xn--p1ai

Технологический журнал 1С:Предприятие 8 | Gilev.ru

Зачем он нужен

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

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

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

Основное

Журнал настраивается с помощью файла logcfg.xml в папку программы C:\Program Files\1cv81\bin\conf
1) Для успешного создания логов, нужно создать каталоги для логов (например C:\Program Files\1cv81\bin\logs) и дапмов (например C:\Program Files\1cv81\bin\dumps)

2) К этим каталогам ТЖ должны быть обязательно настроены права:

— полные права на каталог технологического журнала;

— права на чтение владельца каталога технологического журнала.

Проверяйте наличие прав с помощью Procmon.

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

 

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

4)1С:ЦУП использует для своих аналитических показалей логи технологического журнала. При использовании ЦУП другие данные собираться не должны, удалите logcfg.xml вручную, ЦУП сам создаст файл с нужными настройками.

5) Возможные ошибки и доп. информация:

— ищем логи в каталоге на сервере хотя для 64 разрядного сервера другой каталог программы

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

— более подробно с особенностями использования технологического журнала можно ознакомиться по материалам семинара партнеров 2 — 4 марта 2007 года, доклад «Средства диагностики работы системы «1С:Предприятия 8.1″».

События в ТЖ

Удобные для анализа ошибок

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

Для анализа скорости веба

Событие VRSREQUEST — запрос к серверу за некоторым ресурсом.

Событие VRSRESPONSE — ответ сервера.

Для анализа активности

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

Событие CALL — входящий удаленный вызов (удаленный вызов на стороне приемника вызова).

Анализ утечек и расхода памяти

События LEAKS — события, связанные с утечкой памяти, которые могут быть вызваны ошибками в коде конфигурации.
События MEM — события, связанные с увеличением объема памяти, занятой серверными процессами (ragent, rmngr, rphost). 

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

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

www.gilev.ru

Технологический журнал 1С 8.3 и 8.2: включение, настройка, анализ

ALL Все события Абсолютно все события технологического журнала
ADMIN Административное действие Действия пользователя-администратора кластера серверов 1С Предприятия 8.2
CALL Входящий вызов Входящий удаленный вызов (удаленный вызов на стороне приемника вызова)
CONN Соединение с сервером Установка или разрыв TCP-соединения между процессами системы «1С 8.3»
CLSTR Активность кластера Выполнение операций, изменяющих работу кластера серверов
EDS Внешний источник данных Все события внешних источников данных
DB2  IBM DB2 Исполнение операторов SQL СУБД IBM DB2
DBMSSQL  Microsoft SQL Server Исполнение операторов SQL СУБД Microsoft SQL Server
DBPOSTGRS  PostgreSQL Исполнение операторов SQL СУБД PostgreSQL
DBORACLE  Oracle Database Исполнение операторов SQL СУБД Oracle Database
DBV8DBEng SQL, Файловая СУБД Исполнение операторов SQL файловой СУБД
EXCP Исключение Исключительная ситуация приложения системы «1С: Предприятие», которое штатно не обрабатывается и может послужить причиной аварийного завершения серверного процесса или подсоединенного к нему клиентского процесса
EXCPCNTX Контекст исключения Событие, которые началось, но не закончилось в момент возникновения нештатной ситуации
HASP Обращение к HASP Обращение к аппаратному ключу защиты (HASP)
LEAKS Утечка памяти Событие, связанное с утечкой памяти, которая может быть вызвана ошибками в коде конфигурации 1С 8.2
MEM Утечка памяти сервера Событие, связанные с увеличением объема памяти, занятой серверными процессами (ragent, rmngr, rphost).
PROC Процесс Событие, относящееся к процессу целиком и влияющие на дальнейшую работоспособность процесса. Например: старт, завершение, аварийное завершение и т. п.
QERR Ошибка запроса Событие, связанное с обнаружением ошибок компиляции запроса или ограничением на уровне записей и полей базы данных
SCALL Исходящий вызов Исходящий удаленный вызов (исходящий вызов на стороне источника вызова).
SCOM Серверный контекст Событие создания или удаления серверного контекста, обычно связанного с информационной базой.
SDBL Запрос к базе данных Исполнение запросов к модели базы данных 1С: Предприятия 8.3
SESN Сеанс Действие, относящиеся к сеансу работы. Например: начало сеанса, окончание сеанса и т. д.
SRVC Сервисы кластера События, связанные с запуском, остановкой и оповещениями сервисов кластера серверов
TLOCK Блокировка Управление транзакционными блокировками в Управляемом режиме
TDEADLOCK Взаимоблокировка Обнаружена взаимоблокировка в Управляемом режиме
TTIMEOUT Таймаут Превышено максимальное время ожидания транзакционной блокировки
VRSCACHE Кеш http Работа кеша серверных вызовов
VRSREQUEST Запрос к серверу Запрос к серверу за некоторым ресурсом
VRSRESPONSE Ответ сервера Ответ сервера
SYSTEM Системные события Системные события механизмов платформы, предназначенные для анализа сотрудниками фирмы «1С»

programmist1s.ru

Srvinfo reg_1541 — очистка журнала регистрации 1С

На сервере 1С  со временем увеличивается в размерах папка
reg_1541, содержащая журналы регистрации 1С. Расположена эта папка в директории  С:\Program Files\1cv82\srvinfo. И как следствие может возникнуть проблема свободного пространства на системном жестком диске. Чтобы избежать роста папки srvinfo необходимо периодически очищать журнал регистрации 1С.

Удаление неиспользуемых журналов регистрации из папки Srvinfo

В журнале регистрации фиксируется все изменения объектов баз 1С — документы, справочники, регистры и т.д.

Для каждой базы данных 1С существует своя директория хранения журнала регистрации и выглядит она таким образом:

C:\Program Files\1cv8\srvinfo\\\1Cv8Log

Папка <Имя кластера сервера> по-умолчанию называется reg_1541.

После удаления базы данных с сервера 1С папка журнала регистрации не удаляется из Srvinfo. Поэтому из множества папок в 
Srvinfo могут находиться и те, которые давно не используются и просто занимают место на жестком диске.

Вычислить эти папки можно открыв файл 1CV8Clst.lst, который находится так же в reg_1541.

Копируем <Идентификатор базы на сервере> из папки Srvinfo и ищем в файле  1CV8Clst.lst. Если идентификатор в файле не найден, то папку можно удалять.

1CV8Clst.lst1CV8Clst.lst

В директории Srvinfo находится папка с названием вида snccntx+<Идентификатор базы на сервере>. Эта папка содержит сеансовые данные и ее лучше не удалять без необходимости т.к. много места она не занимает.

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

Запускаем 1С в режиме конфигуратора и переходим в меню «Администрирование/Настройка журнала регистрации»

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

В настройках журнала регистрации можно выбрать какие события будут регистрироваться:

Ошибки — информация о сбоях
Предупреждения — важные уведомления, не ошибки
Информация — все изменения базы данных
Примечания — все остальные уведомления

Для очистки журнала регистрации нажимаем кнопку «Сократить»

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

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

В поле «Удалить события до:» выбираем дату до который будем очищать журнал регистрации.

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

Автоматизация процесса очистки журнала регистрации

Автоматизация процесса через командную строку Windows выглядит таким образом:

"[PathTo1Cv8Exe]\1cv8.exe" CONFIG [ConnectionString] /Out[PathToOperLog] /ReduceEventLogSize [ShrinkDate] -saveAs [BackUpedLog]

[ConnectionString] — строка подключения к информационной базе. Т.к. речь идёт о серверном варианте, эта строка будет иметь вид «/S[ServerName][InfoBaseName] /N[UserName] /P[UserPassword]». Пользователь должен иметь право администрирования.

[PathToOperLog] — путь к файлу, в котором будут сохранены сообщения системы при выполнении этой операции.

[ShrinkDate] — дата, по которую будет укорочен журнал регистрации в формате yyyy-mm-dd

[BackUpedLog] — путь к файлу в формате *.elf, к которым можно будет обратиться в случае необходимости проводить расследования давних операций с информационной базой.

Операцию необходимо выполнять когда нет активных подключений к базе 1С.

Образец скрипта для PowerShell

#
# backup & shrink 1c logs
#

param (
    [string]$1cexe = "C:\Program Files (x86)\1cv82\8.2.15.319\bin\1cv8.exe",
    [string]$1cbase = "srvrname\ibname",
    [string]$1cuser = "username",
    [string]$1cupassword = "password",
    [string]$1coperlog = "s:\logs\1cshrink.txt",
    [string]$1cdaysoflogstore = 7, #[дата по которую удалить логи] (get-date).Date.AddDays(-$1cdaysoflogstore).ToString("yyyyMMdd")
    [string]$1clogsarchive = "s:\backup\6months\", #[путь к сохраняемому в другом месте файлу логов *.elf] 
    [string]$1clogfilename = $env:COMPUTERNAME.ToLower() + "-1clog-" + ($1cbase.split("\"))[1] + "-" + (get-date).Date.ToString("yyyyMMdd") + ".elf"
)

$1clog = $1clogsarchive + $1clogfilename

cmd /c "`"`"$1cexe`" CONFIG `/s$1cbase `/N`"$1cuser`" `/P`"$1cupassword`" `/Out$1coperlog `/ReduceEventLogSize $((get-date).Date.AddDays(-$1cdaysoflogstore).ToString("yyyy-MM-dd")) -saveAs`"$1clog`"`""

Внимание! Данные для подключения к базе 1С обезличены. Необходимо заменить на свои.

Перенос журнала регистрации на другой диск

Чтобы избежать переполнения системного диска файлами журнала регистрации 1С папку SRVINFO можно перенести на другой диск. Выполнить это можно изменив параметры запуска службы «Агент сервера 1С:Предприятия 8.3» в реестре Windows.

В редакторе реестра переходим по ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\1C:Enterprise 8.2 Server Agent и в параметре ImagePath изменяем значение «Агент сервера 1С:Предприятия 8.3» «C:\Program Files (x86)\1cv8\8.3.10.2667\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files (x86)\1cv8\srvinfo».
Вместо «C:\Program Files (x86)\1cv8\srvinfo» указываем новую директорию нахождения журнала регистрации.

редактирование запуска службы "Агент сервера 1С:Предприятия 8.3" в реестре Windowsредактирование запуска службы «Агент сервера 1С:Предприятия 8.3» в реестре Windows

В статье использован источник: http://infostart.ru/public/161396/

soft-setup.ru

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

Редактор статьи Редактор статьи:

Михаил  Сайко 

Сервис-инженер 1С Получить консультацию

Актуальность статьи проверена:

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

Включение технологического журнала

Суть этого механизма в том, чтобы 1С записывала выбранные действия в файл формата XML, расположенный в определенном месте. Для операционных систем семейства Windows этот путь:

  • «C:\Program Files\1cv8\conf»

Если же вы используете Linux, то:

  • «/home/usr1cv8/.1cv8/1C/1cv8/conf»

Для примера рассмотрим простейшую структуру этого файла под именем «logcfg.xml» и опишем ее основные разделы:

Структура файла и ее основные разделы

  1. Log – в реквизит location указывают месторасположение логов. Это должен быть существующий каталог, а у пользователей должны быть права на запись в него. Речь идет о пользователях, от имени которых может запускаться 1С, и, соответственно, могут записываться логи при определенных событиях. Реквизит history отражает время хранения логов в часах;
  2. Event – здесь отражаются фиксируемые события с помощью свойств property и name;
  3. Property – указанное значение в свойстве name отражает настройку, отвечающую за набор событий, попадающих в технологический журнал.

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

Перечислим основные параметры, достаточные для понимания большинства проблем:

  • ALL – все события;
  • ADMIN – действия администратора;
  • CONN – установка и разрыв клиентской сессии с сервером;
  • EXCP – исключительные ситуации, причины аварийного разрыва сессий;
  • EXCPCNTX – исполняющиеся события в момент возникновения аварийной ситуации;
  • LEAKS – регистрация утечки памяти из-за ошибок в конфигурации;
  • MEM – утечки памяти на серверных процессах;
  • PROC – этапы процессов – начало, окончание;
  • QERR – ошибки компиляции запросов и ограничения по правам;
  • SCOM – создание и удаление объектов на сервере.

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

Для этого нужно либо запустить клиентское приложение 1С, либо перезагрузить сервер. В результате для каждой сессии создается отдельная папка с идентификатором, в которую пишутся действия пользователя в текстовые файлы. Все логи разбиты по 1 часу и названы в соответствии со временем начала. Логи за 3 сентября 2018 года с 12-00 до 13-00 запишутся в файл с именем «18090312».

Логи

Настройка систем семейства Linux для включения ТЖ

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

  1. Создаем нужный каталог внутри скрытой директории «.1cv8». В файловом менеджере ее невозможно увидеть, поэтому вводим следующую команду в консоли:
    • mkdir /home/usr1cv8/.1cv8/1C/1cv8/conf
  2. Создаем сам файл настроек формата xml:
    • Touch /home/usr1cv8/.1cv8/1C/1cv8/conf/logcfg.xml
  3. Содержимое настроечного файла идентично версии для Windows, за исключением местоположения файлов логов. В операционных системах под Linux заведено, что все логи хранятся в папке «/var/log». Конечно, от этого правила можно отступить, но это приведет лишь в путанице, поэтому этого делать не стоит. В результате раздел log будет выглядеть так:
    • log location=”/var/log/1C” history=”168"
  4. Естественно, эту папку нужно будет создать:
  5. Также для осуществления записи в только что созданную папку, необходимо дать на это права тем сотрудникам, которые будут работать с 1С. Следующей командой мы устанавливаем пользователя и всю группу 1С в качестве владельца на новый каталог:
    • chown usr1cv8:grp1cv8 /var/log/1C
  6. Чтобы появились папки и началось ведение логов на сервере 1С, необходимо перезапустить его процесс командой:
  7. Вышеперечисленные действия позволят включить технологический журнал и фиксировать нужные события на сервере 1С. Если вы хотите вести учет действий клиентских приложений, то придется сделать дополнительные настройки. Проблема в том, что настройки платформы создаются для каждого пользователя отдельно и хранятся в домашних каталогах. Чтобы настроить права пользователя на запись логов в указанной папке, нужно включить его в группу «grp1cv8»:
    • usermod –a –G grp1cv8 IvanovIC
  8. Также потребуется редактировать права на запись в папку логов, чтобы группа могла писать наравне с владельцем:

Чтобы фиксация логов начала функционировать, пользователю необходимо завершить сеанс и заново войти в систему. После этих действий в папке /var/log/1C начнут создаваться папки и файлы с данными.

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

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

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

Чтобы понимать, что можно увидеть в логах, разберем всю информацию, которая там находиться. 1С пишет данные формата определенного шаблона «MM:SS.TTTT-L,Name,Level,Properties», где:

  • MM – порядковый номер минуты окончания события в часе, указанном в названии;
  • SS – порядковый номер секунды в вышеуказанной минуте;
  • TTTT – номер миллионной доли. В более ранних версиях стоял порядковый номер десятитысячной доли секунды;
  • L – длительность события в миллионных долях в версии 1С 8.3. Для ранних версий – в десятитысячных долях;
  • Name – имя события в системе;
  • Level – уровень окончившегося события в очереди потока;
  • Properties – в этом параметре перечислены свойства операции. Записываются по шаблону «ИмяСвойства=ЗначениеСвойства» и разделяются запятыми.

Проанализируем пример строки из логов технологического журнала файла «18090312.log»:

Пример строки из логов технологического журнала файла «18090312.log»

  • 12:13:569 – минуты, секунды и миллионные доли секунды. Совместно с названием файла получаем информацию, что данное событие окончилось 3 сентября 2018 года в 12:12:13,000569;
  • 1 – длительность события – 0,000001 секунды;
  • DMBSQL,3 – наименование и уровень окончившегося события;
  • Process=rphost – указывает на конкретный процесс, чей лог записан;
  • p:processName=TestBase – указывает, что логи пишутся для базы под названием «TestBase»;
  • t:clientID=1572,t:applicationName=BackgroundJob – в этих свойствах указаны идентификаторы соединения с клиентов и клиентской программы, соответственно;
  • t:connectID =1236 – номер соединения с ИБ;
  • SessionID=234 – идентификатор сеанса текущего потока;
  • Usr=DefUser,Trans=0,dbpid=11 – имя пользователя, показатель открытой или закрытой транзакции и идентификатор связи сервера приложений 1С с сервером БД;
  • Sql – текст запроса на языке SQL;
  • Context – ключевое значение, показывающее нам, какая строка кода в 1С породила событие.

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


wiseadvice-it.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *