Выгрузка журнала регистрации lgd в базу SQL

30.08.24

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

Журнал регистрации lgd хранит данные в одном файле SQLite. Скрипт на OneScript позволяет выгрузить журнал регистрации lgd в базу SQL. А для анализа выгруженного журнала регистрации - конфигурация с отчетом на СКД.

Зачем это надо, и что помогает решить:

  1. Если один ЖР пишет на несколько серверов, то при просмотре ЖР будут видны записи только текущего активного файла.
  2. Если ЖР большой и случайно сделали что-то не то на рабочей базе, есть вероятность, что рабочий сервер зависнет. Реализация дает возможность выгружать ЖР на тестовый сервер и запускать с тестовых баз.
  3. При необходимости можно добавить/изменить индексы для быстрого поиска, в отличие от типового журнала.
  4. В cf выложен удобный отчет на СКД. Есть возможность группировать записи и анализировать проблемные места.

Скорость переноса в базу SQL зависит от мощности сервера. Например, на рабочем сервере 150000 записей обрабатывает около 1м 30секунд. На домашнем ноутбуке 150000 записей обрабатывает около 4м.

Описание

Можно загружать в одну базу сразу несколько журналов регистрации. Для этого нужно указывать уникальное ИмяИнформационнойБазы. При запуске ищем информационную базу по имени, если ее нет, то добавляем ИмяИнформационнойБазы с ПредставлениеИнформационнойБазы и ОписаниеИнформационнойБазы, иначе просто работаем с уже существующей.

ПредставлениеИнформационнойБазы и ОписаниеИнформационнойБазы заполняется только при создании(если база с таким именем уже создана не обновляет поля), если нужно изменить то через sql.

Отслеживать несколько баз - запустить несколько exe. При ошибке можно отправлять письмо на почту.

В дополнительно есть cf с внешним источником и отчетом. Отчет сделан на подобии ЖР БСП.

При завершении чтения и запуске снова продолжается с последней записи (при соответствующих настройках).

Порядок работы

В SQL создать новую базу данных.

Скопировать скрипт из файла "SQL Server. Скрипт создания базы для хранения данных журнала регистрации.sql" и запустить его для созданной базы.

Открыть файл "setting.json" и установить настройки.

"НастройкиПочты": {
    "ОтправитьТестовоеПисьмо": "Ложь", При запуске пробуем отправить письмо, можно использовать один раз для проверки
    "ОтправлятьПисьмоПриОшибке": "Истина", Отпарвляет письмо если что-то пошло не так
    "АдресSMTP": "smtp.gmail.com",
    "ПортSMTP": 465,
    "ПользовательSMTP": "test@gmail.com",
    "ПарольSMTP": "test",
    "ИспользоватьSSL": "Истина",
    "АдресЭлектроннойПочтыПолучателя": "test@gmail.com;"
},

"НастройкиЧтенияЖурнала": {
    "ЧитатьЖурнал": "Истина", - Нужно ли читать журнал. Первый раз можно указать ОтправитьТестовоеПисьмо истина и ЧитатьЖурнал ложь для проверки работы с почтой
    "ПутьКВнешнейКомпонентеSqlLite": "sql.dll", - путь к файлу. Лежит в папке. По умолчанию менять не нужно.
     "ПутьКSqlLite": "1Cv8.lgd", - Путь к файлу журнала регистрации. Пример "C:/Program Files/1cv8/srvinfo/reg_1541/9b6f817a-404b-43f4-9fb2-41d33022db41/1Cv8Log/1Cv8.lgd"
    "СтрокаСоединенияСSQL": "server=ИмяСервера;uid=ПользовательСервера;pwd=ПарольСервера;database=ИмяБазыДанныхДляЗагрузки", - подключение к sql
   "ИмяИнформационнойБазы": "МойПервыйТест", 
     "ПредставлениеИнформационнойБазы": "Мой первый тест", 
     "ОписаниеИнформационнойБазы": "моя база для тестов",
     "ЧислоСтрокДляЗаписи": 1000, - число строк которые будет переносить за один запрос к sql. Максимум 1000. Например если за паузу между загрузкой успели создать в журнале только 500 новых записей, то загрузит 500, не дожидаясь полного пакета.
     "НачатьСПервойВSQLLite": "Ложь", - Если мы загружаем базу первый раз, то Истина. Например есть журнал который сокращался и сейчас хранятся записи с id от 500 до 10000. Мы получим минимальный айди и начнем загрузку с него. Для таблицы ЗаписиДанных.
  "ОбрабатываемаяСтрокаСобытий": 0, - Если по какой то причине у нас затерлись данные или пропустили часть строк то можно начать загрузку с конкретного айди что бы догрузить. Для таблицы ЗаписиДанных.
  "ПаузаСекунд": 60, - Пауза между обращением к базам. Мы получаем таблицы последних айди для каждой таблицы в SQL и журнале регистрации. После чего проходим все таблицы по очереди загружая новые записи. После этого пауза на указанное время перед новой итерацией.
  "ВыводитьЛог": "Истина" - Если истина выводится информация по количеству итераций, загрузке таблиц.
}

 

Для windows. Тестировалось на платформе 8.3.21.1393. 

Используются библиотеки:


Утилита реализована через OneScript. Добавлен файл exe, который достаточно запустить, указав настройки.

Утилита и ее исходники выложены на github - Navakouski/Zhurnal-Registracii: Загрузка журнала регистрации 1С (lgd) в базу SQL (github.com)

Для работы с готовым exe необходимо скопировать папку "ГотоваяСборка".

ЖР lgd SQL журнал регистрации OneScript выгрузка загрузка внешний источник данных СКД чтение парсинг анализ

См. также

Журнал регистрации Мониторинг Системный администратор Программист Бизнес-аналитик Руководитель проекта Платформа 1С v8.3 Платные (руб)

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

9000 руб.

28.08.2019    33017    19    21    

71

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

Конфигурация LogiCH эффективно решает проблему хранения и анализа записей журналов регистрации. Разработка использует столбцовую СУБД ClickHouse, одну из самых быстрых Big Data OLAP СУБД. Любой анализ журнала можно выполнить в одном отчете, в котором доступны все возможности СКД с учетом ограничений RLS. Количество подключаемых баз не ограничено и не влияет на скорость построения анализа.

5000 руб.

28.11.2018    20413    17    6    

40

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

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

1 стартмани

29.12.2023    1961    27    dima_gsv    3    

13

Журнал регистрации Мониторинг Системный администратор Программист Абонемент ($m)

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

1 стартмани

19.11.2023    1281    5    AlexSTAL    0    

8

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

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

1 стартмани

13.11.2023    4358    9    AlexSTAL    0    

47

Журнал регистрации Инструменты администратора БД Мониторинг Мессенджеры и боты Системный администратор Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х Абонемент ($m)

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

3 стартмани

26.09.2023    2558    15    doom2good    10    

14

Журнал регистрации Статистика базы данных HighLoad оптимизация Конфигурации 1cv8 Абонемент ($m)

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

5 стартмани

04.09.2023    1201    11    Maxiko    0    

8

Linux Журнал регистрации Системный администратор Платформа 1С v8.3 Бесплатно (free)

Экспериментируем с реализацией драйвера текстового устройства под Linux для перенаправления вывода журнала регистрации.

07.08.2023    1751    Lars Ulrich    1    

17
Оставьте свое сообщение