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

Публикация № 1504500 26.08.21

Системное администрирование - Linux

технологический журнал тж производительность анализ linux hi load

Проводить анализ технологического журнала (далее ТЖ) средствами bash и powershell было бы удобнее, если бы события записывались в одну строку и строго соблюдался единый формат ограничителей содержимого полей. Данная утилита устраняет эти недостатки, благодаря чему станет легче писать скрипты, вы сможете повысить точность анализа ТЖ, избежать пропуска мелких событий.

Что конкретно делает эта утилита:

  • Перезаписывает файлы технологического журнала в измененном формате;
  • Событие ТЖ целиком укладывает в одну строку, байты CRLF ставятся только в конце события;
  • Тексты всех полей Sql, Context, Txt и т.д. (всего на данный момент 11 полей) строго и безусловно заключаются в двойные кавычки. Полный список обрабатываемых полей можно получить, запустив утилиту без аргументов;
  • Внутри текстов удаляются все переводы строк (CR, LF) и табы. Двойные кавычки и дважды двойные экранирующие внутри текста превращаются в одинарные. Благодаря этому и предыдущему пункту вы сможете значительно упростить регулярные выражения и ускорить их обработку для надежного извлечения полного текста события.
  • Из имен временных таблиц в запросах SQL удаляются числа - это может понадобиться для группировки по тексту для поиска долгих запросов.

Важные особенности:

  • утилита написана для GNU/Linux, но работает и в WSL (тестировалась под WSL Ubuntu);
  • предназначена для обработки больших объемов ТЖ (сотни ГБ, возможно терабайты), поэтому переписывает существующие файлы с сохранением их размера и места; дополнительное место на диске не требуется (при отключении CoW);
  • написана c использованием многопоточной обработки на C, без сторонних библиотек и регулярных выражений, поэтому теоретически выигрывает по скорости у bash-скриптов написанных с использованием perl и grep, но на практике космических скоростей конечно не будет: бутылочным горлышком станет скорость ваших дисков. 100% загрузку CPU вы вряд ли увидите, механические HDD и вовсе уравняют любые методы обработки;
  • не имеет значения, обрабатываете ли вы один большой файл или множество мелких - утилита разбивает весь объём на порции данных, по умолчанию 50 МБ, но можно задать свой размер.

Ввиду необходимости сохранения размера файлов при многопоточной обработке и в связи с возможным отсутствием каких-либо кавычек в исходном ТЖ утилита производит сокращение наименований полей на 2 символа, например Sql= превращается в S=. Возможная недостача размера компенсируется с помощью дополнительных запятых после поля. Полный список полей и их новое сокращенное наименование можно получить, запустив утилиту без аргументов.

Пример использования:

./norm -i data -r 

Число потоков:         6
Путь поиска:           data
Рекурсивный поиск:     да

#########################################################
#########################################################
#########################################################
#########################################################
###############

Время выполнения:      30.087497 сек.
Обработано данных:     10.77 Гб
Скорость обработки:    357.90 Мб/сек

 

Скачать файлы

Наименование Файл Версия Размер
norm (в архиве tar.gz):

.gz 9,00Kb
5
.gz 1.0.0.1 9,00Kb 5 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. FreeArcher 140 30.03.22 11:44 Сейчас в теме
Ох, вашу бы утилиту показать 1С-овцам...
2. cdiamond 222 06.04.22 14:20 Сейчас в теме
Им этого не надо, КИП сломается же, переписывать никто не захочет.
Оставьте свое сообщение

См. также

Обслуживание баз данных 1C на Postgresql под Astra Linux Промо

Администрирование СУБД Инструменты администратора БД Linux Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Эта публикация для тех специалистов 1С, которые развернули сервер 1С и сервер PostgreSQL под Astra Linux и которым не интересно работать в командной строке, выполняя «шаманские» скрипты для автоматического сохранения и восстановления баз. Возможно вам тоже будет удобно обслуживать базы данных PostgreSQL решением на платформе 1С.

10 стартмани

14.06.2022    4731    10    alfanika    10    

Разбор технологического журнала без боли и страданий

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

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

1 стартмани

12.12.2022    3590    12    Segate    18    

Выполняем в СУБД запрос из ТЖ

Технологический журнал Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

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

1 стартмани

24.11.2022    1529    1    VKislitsin    1    

Поиск длинного наименования файла в присоединенных файлах

Корректировка данных Linux Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Иногда длинное имя присоединенного файла в справочниках и документах мешает работе с томами (особенно во фреше). Данная обработка позволит найти такие названия во всех присоединенных файлах и скорректировать.

1 стартмани

17.10.2022    915    0    InformStandart    0    

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

Технологический журнал Платформа 1С v8.3 Платформа 1С v8.3 Россия Россия Абонемент ($m) Абонемент ($m)

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

1 стартмани

14.02.2012    37588    78    Aleksey.Bochkov    18    

Парсинг полного технологического журнала 1С и выгрузка в таблицу СУБД (MSSQL, Postgres, SQLight) с помощью python

Инструменты администратора БД Технологический журнал Абонемент ($m) Абонемент ($m)

Разработан скрипт, который разбирает полный технологический журнал 1С и загружает результат в различные СУБД.

1 стартмани

30.03.2022    3112    5    FreeArcher    3    

Командная строка Linux

Linux Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Выполнение команд bash операционной системы Linux из 1С, а также получение результата в переменную 1C.

3 стартмани

04.03.2022    2236    14    user-z99999    1    

Просмотр файлов технологических журналов 1С (WinAPI)

HighLoad оптимизация Технологический журнал Платформа 1С v8.3 Платформа 1С v8.3 Россия Россия Абонемент ($m) Абонемент ($m)

Программа просмотра файлов технологических журналов 1С (WinAPI). Работает с большими файлами. Минимальное потребление памяти при индексировании данных, просмотре. Анализ управляемых взаимоблокировок, таймаутов, ожиданий. Фильтры по событиям, периоду, пользователям, соединениям, сеансам.

1 стартмани

24.08.2021    5543    22    sdf1979    17    

Чтение логов технологического журнала Промо

Технологический журнал Платформа 1С v8.3 Платформа 1С v8.3 Россия Россия Абонемент ($m) Абонемент ($m)

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

1 стартмани

24.04.2009    46140    2142    Широкий    127    

Powershell: Анализ технологического журнала. Топ-25 вызовов.

Технологический журнал Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Использование Powershell для анализа технологического журнала 1с. Пример получения топ-25 вызовов

1 стартмани

16.06.2021    7647    7    Dimashiro    17    

Интерфейс к утилите администрирования кластера серверов для ОС Linux

Linux Сервера Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Реализация сценария администрирования кластера серверов для ОС Linux при СУБД - PostgreSQL.

1 стартмани

21.01.2021    4335    5    masterb    1    

Парсер технологического журнала (golang + redis + elasticsearch)

Технологический журнал Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

На просторах интернета, в том числе на данном ресурсе содержится разнообразное количество инструментов, позволяющих читать, трансформировать логи технологического журнала. Инструмент, который я описываю в данной статье, - является альтернативным вариантом, реализованным на стеке технологий Goroutines (golang) + Redis + Elasticsearch.

1 стартмани

07.01.2021    11321    8    Shmell    14    

Управление серверами (консоль Linux)

Linux Сервера Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Конфигурация-консоль администрирования кластера серверов 1С Linux.

1 стартмани

28.12.2020    6262    14    m_aster    0    

Запуск нескольких экземпляров сервера 1С на GNU/Linux посредством systemd

Linux Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Сказ о том, как сделать "кошерный" запуск сервера 1С на GNU/Linux для версии платформы 8.3.18 и выше, которая позволяет устанавливать одновременно пакеты нескольких версий.

1 стартмани

10.12.2020    16332    9    Sloth    9    

Длина ключа индекса превышает максимально допустимую. Решение с использованием технологического журнала

Корректировка данных Технологический журнал Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

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

1 стартмани

28.01.2020    10446    4    newtraveller    0    

Techlogqueryviewer - Вьювер запросов к СУБД из технологического журнала 1С: Предприятие

Технологический журнал Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Обработка для отображения текстов запросов, формируемых платформой 1С: Предприятие в том виде, в каком они должны быть выполнены на СУБД. Тексты запросов обработка получает из технологического журнала по мере их там постепенного появления. Генерация запросов может вестись как в обычном, так и в управляемом режиме, но сама обработка работает только в обычном режиме.

1 стартмани

14.08.2016    11290    12    KAV2    8    

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

Технологический журнал Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Простой, шустрый и легкий в использовании off-line парсер технологического журнала 1С.

5 стартмани

06.12.2015    27331    101    sarycheff    29    

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

Технологический журнал Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

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

1 стартмани

14.11.2015    24573    86    logarifm    14    

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

Технологический журнал Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

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

1 стартмани

19.08.2015    17816    201    liurn    8    

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

Технологический журнал Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Конфигурация позволяет загружать данные технологического журнала извлекая из него исключения (EXCP) и сохраняет их в базу данных, при сохранении производится парсинг, класиффицирующий ошибки по уже известным. Позволяет постфактум проанализировать статистику работы системы, выявить проблемы, оценить мероприятия по отказоустойчивасти Функционал: 1. Анализируется технологический по событиям EXCP и CALL. Загрузка производится из сетевого каталога на стороне сервера 2. По вхождению подстроки в событие определяется «тип ошибки» (справочник заполняется пользователем) 3. В случае добавления в спр новой типовой ошибки – можно повторно пропарсить уже загруженные события 4. Есть свертка базы (удаление записей с датой менее ДатаЧ) 5. Объединено с БСП, использованы подсистемы: отчетов и обновлений

1 стартмани

13.06.2012    12201    100    xoxland    5    

Парсинг технологического журнала 1С средствами SQL CLR

Технологический журнал Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

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

1 стартмани

29.11.2011    22749    266    squad    25