Кто запустил анализ журнала регистрации?

16.09.17

База данных - Журнал регистрации

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

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

Признаками данной проблемы являются:

  1. Невозможно зайти в информационную базу.

  2. Почти 100% активность диска, на котором расположен журнал регистрации и активное чтение файла журнала регистрации процессом rmngr.
    Данный пункт можно проверить с помощью монитора  ресурсов (Диспетчер задач - Производительность - Открыть монитор ресурсов) на вкладке “Диск”.
    В группе “Запоминающие устройства” нужно обращать внимание на колонку “Активное время (%)”.
    В группе “Работа диска” нужно обращать внимание на колонки “Чтение” и “Файл”. Можно отсортировать по колонке “Чтение”. Среди первых строк с максимальной скоростью чтения будет процесс rmngr. Далее нужно смотреть имя читаемого файла, оно будет соответствовать журналу регистрации определенной информационной базы.

  3. В консоли администрирования кластера серверов 1С:Предприятие в списке сеансов почти у всех пользователей будет большое и приблизительно одинаковое значение в колонке “Захвачено СУБД” или в колонке “Время вызова (текущее)”.

 

При обнаружении проблемы нужно:

  1. Запомнить УИД ИБ, к которой выполняется чтение процессом rmngr.

  2. Запустить сбор технологического журнала на события EXCP, если еще не запущен.

  3. Сделать экспорт всех сеансов на проблемном сервере ИЛИ на проблемной ИБ с помощью консоли администрирования кластера серверов 1С:Предприятие, на случай, если понадобятся дополнительные данные для анализа.

  4. Перезапустить службу 1С:Предприятие.

  5. Собрать технологический журнал на время перезапуска сервера 1С:Предприятие.

  6. Проанализировать технологический журнал: выполнить поиск слов “ВыгрузитьЖурналРегистрации” или “UnloadEventLog”.

 

Пример:

29:40.069000-0,EXCP,4,process=rphost,p:processName=ib_accounting,t:clientID=114396,t:applicationName=1CV8C,t:computerName=COMP,t:connectID=109127,SessionID=1,Usr=ИвановИИ,AppID=1CV8C,ClientID=114389,Exception=NetDataExchangeException,Descr=Передача данных прервана по инициативе принимающей стороны.,Context='Форма.Вызов : ВнешнийОтчет.АнализЖурналаРегистрации.Форма.Модуль.ФоновоеЗаданиеЗапустить

ОбщаяФорма.ФормаОтчета.Форма : 1242 : ВариантыОтчетов.СформироватьОтчетВФоне(ПараметрыФормированияОтчета, РезультатФоновогоЗадания.АдресРезультата);

   ОбщийМодуль.ВариантыОтчетов.Модуль : 2544 : Формирование = СформироватьОтчет(Параметры, Ложь, Ложь);

      ОбщийМодуль.ВариантыОтчетов.Модуль : 2060 : ОтчетОбъект.СкомпоноватьРезультат(Результат.ТабличныйДокумент, Результат.Расшифровка);

          ВнешнийОтчет.АнализЖурналаРегистрации.МодульОбъекта : 64 : ВыгрузитьЖурналРегистрации(ТЗ,Отбор,Колонки);'


По этой строке можно сказать кто: ИвановИИ, где (на каком компьютере): COMP, в какой информационной базе: ib_accounting запустил анализ журнала регистрации.

Проблема точно воспроизводится на версиях платформы: 8.3.9.2170, 8.3.9.2233.

Журнал регистрации

См. также

LogManager - Внешний журнал регистрации в SQL

Журнал регистрации Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Журнал регистрации платформы 1С в SQL. Общая база хранения всех журналов. Через com-подключение регламентным заданием периодически догружает журналы регистраций из рабочих баз. Предоставляет настраиваемый доступ к журналам по правам подразделений. Формирует отчеты по пользователям и данным.

10000 руб.

23.05.2014    55416    52    16    

47

Версионирование справочников, документов и регистров сведений на SQL-сервере

Журнал регистрации Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

История изменений реквизитов и табличных частей справочников, документов, независимых регистров сведений, возможность отката изменения, восстановление удаленных объектов, сбор статистики использования базы 1С. Альтернативный журнал регистрации.

22800 руб.

22.02.2018    35117    58    53    

55

Журнал изменений с восстановлением состояния ссылочных объектов и архивацией по HTTP / COM (расширение + конфигурация, 8.3.14+, ЛЮБАЯ конфигурация)

Архивирование (backup) Журнал регистрации Поиск данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

База данных «сама» меняет данные в документах/справочниках? Тогда данный журнал изменений для Вас! Практически не влияет на скорость записи объектов за счет быстрого алгоритма! Скорость работы почти в 2 раза выше типового механизма "История изменений"! Позволяет следить за изменениями и удалением в любых ссылочных объектах конфигурации, с возможностью архивации по HTTP(!) или COM, и сверткой данных. А так же, может восстановить состояние реквизитов (значения) до момента изменения или удаления объекта из базы. Есть ДЕМО-база где можно самостоятельно протестировать часть функционала! Работает на любых платформах выше 8.3.14+ и любых конфигурациях! Версия 3.1 от 24.08.2023!

19200 руб.

15.05.2017    42470    10    24    

38

Мониторинг баз и серверов 1С

Журнал регистрации Мониторинг Платформа 1С v8.3 Платные (руб)

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

9000 руб.

28.08.2019    30837    14    21    

65

Версионирование объектов для Альфа-авто, ред 4 и 5.

Оптовая торговля Розничная торговля Журнал регистрации Платформа 1С v8.3 Конфигурации 1cv8 Автомобили, автосервисы Управленческий учет Платные (руб)

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

4800 руб.

03.09.2016    42213    32    24    

36

Уведомления на почту по событиям журнала регистрации на email и в Telegram (для УНФ, УТ 11, БП 3.0, ЗУП 3.0, ERP)

Мессенджеры и боты Журнал регистрации Мониторинг Email рассылки Платформа 1С v8.3 Управляемые формы 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Рассылка уведомлений о событиях журнала регистрации на электронную почту и в Телеграмм. Программа позволяет анализировать журнал регистрации по заданным критериям, находить в нём интересующие события, и отправлять уведомления об этих событиях на электронную почту (одного или нескольких получателей) или в телеграмм. Может работать и как внешняя обработка, и как регламентное задание. Для УНФ, УТ 11, БП 3.0, ЗУП 3.0, ERP.

10800 руб.

18.06.2017    32256    3    2    

15

Регламентное сокращение журнала регистрации

Инструменты администратора БД Журнал регистрации Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Внешняя обработка для регламентного сокращения журнала регистрации для конфигураций на базе БСП и платформы 8.3.20+

1 стартмани

29.12.2023    1216    11    dima_gsv    1    

12

Магия преобразований: ЖР, ТЖ, RAS/RAC, логи - универсальное решение Vector

Мониторинг Журнал регистрации Технологический журнал Абонемент ($m)

Как легко и быстро с помощью специализированных решений собирать, парсить и передавать логи и метрики.

1 стартмани

13.11.2023    2883    4    AlexSTAL    0    

42
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Vasvas05 22 16.09.17 14:48 Сейчас в теме
+ за понятный мануал решения конкретной проблемы. Хотя у нас права на ЖР есть только у одного
2. пользователь 16.09.17 17:43
Сообщение было скрыто модератором.
...
3. Armando 1399 16.09.17 22:01 Сейчас в теме
Если запустили просмотр ЖР из обычного приложения как определить сеанс?
6. metmetmet 81 17.09.17 07:22 Сейчас в теме
(3) Определение сеанса не зависит от типа клиента. Важно каким образом запущен анализ журнала регистрации. На моих экспериментах, к недоступности информационной базы приводило только выполнение метода ВыгрузитьЖурналРегистрации. Анализ журнала регистрации штатной формой или из конфигуратора не приводили к подобным проблемам.
4. tormozit 7133 17.09.17 00:53 Сейчас в теме
Если штатную форму просмотра журнала регистрации открыли, то интересно как ловить это техножурналом?
7. metmetmet 81 17.09.17 07:23 Сейчас в теме
(4) На моих экспериментах, к недоступности информационной базы приводило только выполнение метода ВыгрузитьЖурналРегистрации. Анализ журнала регистрации штатной формой или из конфигуратора не приводили к подобным проблемам.
8. tormozit 7133 17.09.17 09:14 Сейчас в теме
(7) Это потому что использовалась динамическая выборка или низко селективный фильтр. Динамическая выборка выбирает только до заполнения видимого числа строк журнала (+ возможно одну страницу). Поэтому в среднем она намного быстрее завершает выборку. Но ведь можно и очень редкие события отбирать или статическую (полную) использовать.
Прикрепленные файлы:
zsergey_; +1 Ответить
10. tormozit 7133 17.09.17 10:05 Сейчас в теме
(8) Опечатка. Не "динамическая выборка или низко селективный фильтр", а "динамическая выборка и низко селективный фильтр, т. е. в таблице часто встречаются строки ему удовлетворяющие".
21. user634257_mryzhov 18.09.17 16:20 Сейчас в теме
(10) При выборке с параметром "Отобрать сразу" также сталкивались с зависанием сервера.
20. user634257_mryzhov 18.09.17 16:18 Сейчас в теме
(7) Подобная же ошибка возникала при обычном отборе в списке журнала регистрации. Отбор по пользователю и объекту метаданных. Объем журнала регистрации был порядка 60гб.
На текущий момент решаем проблему регламентным урезанием журнала регистрации.
9. Armando 1399 17.09.17 09:58 Сейчас в теме
(4) думаю надо анализировать события system или call
11. metmetmet 81 17.09.17 11:49 Сейчас в теме
(9) События CALL, SCALL записываются в технологический журнал после их выполнения. По этим событиям можно анализировать у кого анализ журнала регистрации завершился успешно. Имя искомого метода "fetchLogEntriesDataBkwd".

P.S.
Имя метода "fetchLogEntriesDataBkwd" получено экспериментальным путем, теоретического или официального подтверждения не имею.

Примеры событий ТЖ
tormozit; +1 Ответить
12. Armando 1399 17.09.17 14:53 Сейчас в теме
(11) system пробовали анализировать?
13. metmetmet 81 17.09.17 18:08 Сейчас в теме
(12) Нет, не пробовал, т.к. в боевом режиме 1С не рекомендует его использовать, поэтому практической пользы не будет.
5. tormozit 7133 17.09.17 01:28 Сейчас в теме
На эту тему я написал в 1С пожелание https://partners.v8.1c.ru/forum/t/1645592/m/1645592 , чтобы дали возможность ограничивать длительность выборки.
Deslime; Armando; metmetmet; +3 Ответить
14. Armando 1399 18.09.17 00:42 Сейчас в теме
Мое небольшое исследование на эту тему привело к такому содержнию файла настройки ТЖ:
<log history="24" location="D:\Temp\Log">
	<property name="all"/>
	<event>
		<eq property="name" value="SYSTEM"/>
		<eq property="class" value="LogMngrSQLiteData"/>
		<eq property="func" value="fetchLogEntries"/>
		<eq property="level" value="INFO"/>
	</event>
	<event>
		<eq property="name" value="SYSTEM"/>
		<eq property="class" value="LogMngrData"/>
		<eq property="func" value="fetchLogEntriesDataBkwd"/>
		<eq property="level" value="DEBUG"/>
	</event>
	<event>
		<eq property="name" value="SYSTEM"/>
		<eq property="class" value="LogMngrData"/>
		<eq property="func" value="fetchLogEntriesDataFwd"/>
		<eq property="level" value="DEBUG"/>
	</event>
</log>
<system level="info" component="backbas" class="LogMngrSQLiteData"/>
<system level="debug" component="backbas" class="LogMngrData"/>
Показать


class="LogMngrSQLiteData" - новый формат ЖР.
class="LogMngrData" - старый формат ЖР

Платформа 8.3.10.2561. Тестировал на файловом и серверном режиме. В конфигураторе, в тонком клиенте, в толстом клиенте (обычное приложение). На старом и новом форматах журнала регистрации. Просмотр встроенными средствами и выборка методом ВыгрузитьЖурналРегистрации().

Для серверного режима не выводит базу и пользователя, но выводит clientID. Так что дополнительно надо настраивать событие CONN.

Для ЖР в формате SQLite выводит в ТЖ исполняемый запрос.
N!ghtmare; stal76; tormozit; dmpas; metmetmet; +5 Ответить
15. metmetmet 81 18.09.17 11:32 Сейчас в теме
(14) Эти события в ТЖ будут попадать только после выполнения?
16. Armando 1399 18.09.17 14:10 Сейчас в теме
(15) не проверял, т.к. не было под рукой тестовой базы с ЖР большого объёма. Но длительность событий в некоторых случаях точно была 0, что наводит на мысль.
26. Armando 1399 18.09.17 23:36 Сейчас в теме
(15) Проверил на серверной базе с большим ЖР старой версии. К сожалению при использовании метода ВыгрузитьЖурналРегистрации() событие выводится в журнал после успешного выполнения(
17. awk 741 18.09.17 14:19 Сейчас в теме
А зачем знать пользователя?
18. metmetmet 81 18.09.17 15:06 Сейчас в теме
(17) Чтобы у него узнать причину анализа журнала регистрации и предотвратить в дальнейшем. Анализ большого журнала регистрации с "плохими" (селективным) отбором может приводить к недоступности информационной базы.
19. awk 741 18.09.17 15:19 Сейчас в теме
(18) Ну узнали и что дальше? Базы (база это частный случай) станут доступными?
25. metmetmet 81 18.09.17 18:53 Сейчас в теме
(19) Доступность информационной базе вернет только завершение отбора по журналу регистрации или перезапуск сервера 1С:Предприятие. А для того, чтобы подобное не повторялось нужно знать кто, зачем и почему это сделал.
27. awk 741 19.09.17 09:21 Сейчас в теме
(25)
1. Не только. Журнал регистрации пишет менеджер кластера. Можно перезапустить именно его, а не сервер в целом.
2. Если не хотите что бы повторялось, то отключите журнал регистрации.

P.S.

Сокращу наш диалог.

Журнал регистрации - это инструмент. У нас им пользуются ВСЕ!!! Баз чуть больше чем много. Размеры журналов превышают 20 гигобайт. Задача нашего отдела - обеспечение бесперебойной работы. С чем мы успешно справляемся. А вы на мой взгляд занимаетесь маскировкой проблемы (задачей бессмысленной и вредной). Вам надо не тех. журнал настраивать, а оборудование прокачивать.
28. tormozit 7133 19.09.17 09:27 Сейчас в теме
(27) Видимо журналы у вас в старом формате?
29. awk 741 19.09.17 09:31 Сейчас в теме
(28)Сергей, мое почтение. В новом... У нас оборудование соответствует задаче.
30. tormozit 7133 19.09.17 10:10 Сейчас в теме
(27) Тогда думаю многим было бы интересно узнать подробнее о том, как достичь такого. Мне не удавалось. Предлагаю начать с примера отбора по журналу размером 20ГБ в режиме "Отобрать сразу" по "Данные=<Какой то древний элемент справочника>". Интересуют сколько времени это выполняется и скрины списка сеансов в базе из консоли кластера через 1-2-3 минуты.
31. awk 741 19.09.17 10:20 Сейчас в теме
(30) Боюсь это не возможно. По причинам:

1. Раскрытие параметров оборудования приведет к моему увольнению
2. Эксперименты в рабочем контуре и публикация результатов приведут к моему увольнению
3. У меня трое детей - мне их кормить надо.

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


По слухам СХД нам обошлось как две теслы...
32. tormozit 7133 19.09.17 11:37 Сейчас в теме
(31)
1. Я не просил параметры оборудования.
2. Подойдет и реальный пример такого рода. Наверняка вы иногда проводите расследования типа "кто мог установить неверное значение реквизита в документе/контрагенте?". Вот хотелось бы узнать сколько времени выполняется отбор по значению поля "Данные". Можно даже без "отобрать сразу". Скриншоты из консоли кластера с замазанными именами пользователей кажется не должны подрывать безопасность.
33. awk 741 19.09.17 12:30 Сейчас в теме
(32)
Запуск в тестовом контуре:
Размер лога 21.9 Гб

Первый запуск
Загрузка данных журнала выполнена за 0:10:30
Повторный запуск
Загрузка данных журнала выполнена за 0:01:01

. Очередь к диску (средняя) 0.3 Падение производительности было заметно (если и было) только на одном кластере. Запуск был на тестовом контуре 256 Гб оперативки, старый СХД (но на ССД дисках) 16 физических ядер (32 логических) 2.4

С рабочем контуром не получится логи обрезаны на выходных.

Анализ журнала производился твоей обработкой, по данным последний раз обновленным более года назад. В ЖР по ним событий не найдено.
34. tormozit 7133 19.09.17 12:34 Сейчас в теме
(33) Так тут центральным является вопрос снижения параллельности работы пользователей. Поэтому тестовые базы не очень наглядно проверять.
35. awk 741 19.09.17 12:39 Сейчас в теме
(34) Тут вопрос вообще не технический. Тут вопрос административный: "Как организовать работу"?
22. user634257_mryzhov 18.09.17 16:22 Сейчас в теме
Интересно можно ли устранить блокировку работы 1С, при запросе к журналу регистрации.
23. Infactum 314 18.09.17 17:55 Сейчас в теме
1С не рекомендует использовать новый формат журнала регистрации для высоконагруженных баз.
24. PerlAmutor 129 18.09.17 18:00 Сейчас в теме
Тоже долгое время мучались с этим. Иногда пользователь не виноват, порой жмут кнопку какого-нибудь отчета или гиперссылку из документа, а она автоматически начинает делать отбор по ЖР. Пока не перевели на старый формат решали это через конфигуратор, там выставили двум-трем админам права просмотра ЖР и все.
36. awk 741 19.09.17 13:06 Сейчас в теме
Я начал писать сюда с вопроса: "Зачем знать пользователя"? Написал я это лишь потому, что смысла в знании не вижу - это не повысит паралельность. Никаких проблем с журналом нет, при соблюдении следующих условий:

1. Определен круг пользователей допущенных до журнала.
2. Определен разумный период который хранится в журналах рабочих базах.
3. Базы распределены по кластерам (за ЖР отвечает менеджер кластера).
4. Журналы режутся.
pbabincev; +1 Ответить
37. Altair777 644 19.09.17 14:43 Сейчас в теме
(36) В этим с предыдущими высказываниями почти полностью согласен. Есть же правило - что не запрещено, то разрешено. Если не запретили и не научили как надо, то сами виноваты. А если такие страшные последствия, то запретите всем "непродвинутым" и делайте анализ сами по запросу. Это этого пользы будет больше, чем потом с гордым видом и горящими глазами искать виноватых и сулить им всяческие кары - отлучение от церкви, премии, корпоративных пьянок (нужное подчеркнуть) :)

(18) Вы не могли бы привести пример дальнейших действий после узнавания причины анализа ЖР? Как и характерный пример самой причины.
38. metmetmet 81 19.09.17 19:23 Сейчас в теме
(37) Пример дальнейших действий: лишить пользователя прав на доступ к ЖР, проанализировать необходимость получения данных из ЖР для пользователя, просто сообщить об инциденте ответственному человеку со стороны заказчика.
Причина: компания разработала обработку, в которой ошибки и служебная информация записываются в ЖР, и сообщила заказчику, что всю информацию о работе обработки нужно получать из ЖР. Некоторые сотрудники заказчика решили проанализировать работу обработки.
39. metmetmet 81 19.09.17 19:40 Сейчас в теме
(36) Очень здорово, когда есть возможность использовать СХД, SSD, на которых чтение 20Гб ЖР занимает 10 секунд. Но чаще всего пользователям не нужен доступ к ЖР и, конечно, правильным решением будет ограничение доступа.
Также встречаются заказчики, которые сильно против изменений в конфигурации, а в типовых решениях от фирмы 1С еще не вынесен в отдельную роль доступ к ЖР. Им достаточно просто рассказать об инциденте и провести разъяснительную беседу с пользователями.

Можете рассказать как вы обрезание ЖР: с помощью функций работы с ЖР, просто перемещает файл, напрямую работаете с файлом ЖР или что-то другое?
42. awk 741 20.09.17 09:30 Сейчас в теме
(39) У нас на кэш и журналы выделено N Гб. Когда место заканчивается (о чем нас предупреждает zabbix), мы делаем ночью:

net stop <service 1C name> - остановка сервера
move <1C folder> <1C folder>_<date> - переименование папки сервера 1С
XCOPY <1C folder>_<date>/*.lst <1C folder> - восстанавливаем все кроме логов
net sart <service 1C name> - запуск 1С. До этого момента даже на слабом сервере с IDE дисками 60 секунд не более пройдет
7z a -tzip <archive path>\<1C folder>_<date>.zip <1C folder>_<date>

Если кому-то нужна история, то мы ему в тестовом контуре даем копию базы и ее логи.


И 10:30 - это десять с половиной минут. Это много, но меньше времени реакции отдела (объективной).
40. asved.ru 36 20.09.17 09:19 Сейчас в теме
Нечего там анализировать. С новым форматом вы сделать ничего не сможете. Переходите на старый, он хотя и медленный, и на чтении систему грузит, но не виснет.
В некоторых случаях удобным решением может быть внешнее хранение ЖР.
41. le_ 237 20.09.17 09:21 Сейчас в теме
Неужели кто-то пользуется штатным ЖР?..
У нас он везде отключен и сделан собственный на основе регистра сведений.
43. D-masterrr 22.09.17 23:05 Сейчас в теме
Вообще журнал регистрации по сути это средство разработчика и права пользователям на запуск это явно лишнее. Странно что статья вышла только сейчас, т.к. виснет он уже давно. Мы уже пару раз в отделе попадали, что разработчик выставил мало фильтров или вообще их не поставил и база висла напрочь. Теперь правило ввели, чтобы обязательно был выставлен фильтр по данным и/или фоновым заданиям и дате.
Оставьте свое сообщение