Анализ технологического журнала 1С регулярными выражениями. От простого к сложному.

Что делать, если у пользователя возникают ошибки, «все тормозит» или возникают другие неясные проблемы, а разработчик не знает где искать проблему в коде?
С этой статьи мы начинаем нашу рубрику по расследованию проблем производительности и стабильности работы систем на базе 1С:Предприятия.
Речь пойдет о реальных примерах анализа технологического журнала 1С экспертами с помощью регулярных выражений.
1. Как получить все таймауты 1С?
2. Как получить все события исключений (EXCP) в определенный час работы?
3. Как получить определенное количество строк до и после интересующих событий?
Расследования проводим путем разбора собранного технологического журнала, в том числе с использованием утилит bash 1С регулярными выражениями. Весь перечень утилит уже озвучивался в официальной статье от 1С на ИТС https://its.1c.ru/db/metod8dev/content/5927/hdoc . Мы же для парсинга тж используем инструмент git bash.
Но,
чтобы парсить технологический журнал 1С — сначала его надо собрать. А для этого выполнить ряд настроек описанных в Настройка и сбор логов для анализа проблем производительности систем 1С на Linux.
Набор собираемых событий, а также список серверов, где данные события фиксируем — должны соответствовать характеру расследуемой проблемы.
Так, например:
- Если известно, что проблемы с производительность наблюдаются как при подключении к базе через веб-сервер, так и при подключении «напрямую» через сервер 1С. В этом случае, можно не собирать технологический журнал на веб-сервере.
- Если расследуем высокую загрузку сервера СУБД, то собирать необходимо события, связанные с запросами СУБД и планами запросов.
- Если же, ситуация неоднозначная изначально, то необходимо включить наиболее полный журнал и на всех серверах где установлены компоненты 1С:
-
- Центральные серверы 1С;
- Рабочие серверы 1С;
- Серверы лицензий 1С;
- Веб-серверы с установленной компонентой веб-расширения 1С.
Пример настройки такого журнала приведен тут же Настройка и сбор логов для анализа проблем производительности систем 1С на Linux.
При этом следует помнить, что при включении такой настройки потребуется внимательно следить за местом на серверах.
Итак, от простого к сложному….
Примеры простых выражений:
Как получить все таймауты 1С?
1 |
grep -P 'TTIMEOUT' --color / D /logs1c/rphost_*/*.log |
Как получить все события исключений (EXCP) в определенный час работы?
(в нашем случае 26 апреля 2021 года в 21 час 33 минуты или 34 минуты во всех каталогах рабочих процессов)
1 |
grep -P '^33:.+EXCP|^34:.+EXCP' --color /D/logs1с/rphost_*/21042621.log |
Как получить определенное количество строк до и после интересующих событий?
(в нашем случае 20 строк до и после исключения (EXCP))
1 |
grep EXCP /D/logs1с/rphost_*/*.log -C 20 |
Отметим, что прежде чем приступать к сбору и анализу — для начала рекомендуем провести первичный сбор информации. О том, как это сделать написано в 1C тормозит и возникают ошибки. С чего начать расследование?
P.S. Все фамилии, пользователи и сервера в дальнейших статьях — вымышленные, любое совпадения с реальными – случайно…
Еще можно посмотреть
Статистика PostgreSQL при работе с 1С:Предприятием
В этой статье поговорим о статистике в PostgreSQL. 1. Симптомы неактуальной статистики в базе. 2. Как обновляется статистика в PostgreSQL и надо ли ее обновлять принудительно? 3. Как обновить статистику в PostgreSQL вручную? Симптомы неактуальной статистики в базе. В какой-то момент(в какой именно теперь уже не вспомнит никто) тестовая база начала сильно тормозить, при низкой […]
Пропажа индексов дескрипторов в 1С:Документообороте
Пользователи копии продуктивной базы начали жаловаться на полное падение производительности в 1C:Документообороте на PostgresPro Enterprise + Linux. С их слов 1С сильно тормозила и это проявлялось везде: при входе в базу, открытии документов, списков, справочников, задач. При анализе происходящего из консоли администрирования 1С в момент запуска системы видим, что зависание начинается в момент обращения к […]
Настройка и сбор логов для анализа проблем производительности систем 1С на Linux
Для осуществления мониторинга за качеством работы систем на базе 1С, а также для анализа проблем с производительностью, необходимо уметь настраивать сбор логов, дампов. Настройка сбора логов 1С под Linux имеет ряд особенностей. О них мы и поговорим в данной статье. Описание приводится для ОС Linux дистрибутивов RHEL/CentOS 7. 1. Как настроить и включить технологический журнал […]
Что такое PG_TEMP в PostgreSQL для 1С
pg_temp — это пространство СУБД PostgreSQL для временных таблиц, то есть таблиц, существующих в пределах жизни одного соединения (в терминах СУБД) или сеанса (в терминах кластера 1С). Такие таблицы мы можем увидеть в тексте запроса СУБД, если в запросе на языке запросов 1С присутствует конструкция ПОМЕСТИТЬ, которая и помещает выборку во временную таблицу. Таким образом […]
История одного конфликта блокировок 1С
В определенный момент времени, пользователи информационной базы, которые ранее работали без проблем — начали жаловаться на возникновение ошибок при записи элемента справочника. В нашем распоряжении оказались скрины и тексты ошибок, переданные пользователями. Без возможности самостоятельного воспроизведения проблемы в этой или каких-либо других тестовых базах данных. 1. Знакомимся с текстами ошибок. 2. Парсим технологический журнал 1С […]
Расследование конфликтов управляемых блокировок (TTIMEOUT) 1С:Предприятия
В этой статье мы поговорим о том, что такое таймаут на управляемых блокировках 1С:Предприятия и как расследовать причины его возникновения. При управляемом режиме , помимо управляемых блокировок 1С:Предприятия, на стороне СУБД в этот самый момент могут действовать также свои блокировки СУБД, обеспечивая изоляцию на более низком уровне. Блокировки СУБД при этом, в общем случае, осуществляются […]
1C тормозит и возникают ошибки. С чего начать расследование?
Когда мы читаем о том, как настраивать и анализировать технологический журнал 1С на предмет «узких» мест, мы не всегда представляем себе, что это отнюдь не первое, что нужно сделать, когда сталкиваемся с падением производительности и стабильности работы системы. Прежде чем «бросаться» собирать технологический журнал и его парсить, изначально рекомендуется провести первичный сбор информации о проблеме: […]
Похожие записи
- Ошибка 1С:Предприятие «Потеряно соединение»
- Расследование конфликтов управляемых блокировок (TTIMEOUT) 1С:Предприятия
- Статистика PostgreSQL при работе с 1С:Предприятием
- Очистка кэша: серверного и клиентского для 1С:Предприятия
- Пропажа индексов дескрипторов в 1С:Документообороте
- Технологический журнал 1С и бесконечный цикл в коде 1С
- История одного конфликта блокировок 1С
- 1C тормозит и возникают ошибки. С чего начать расследование?
- Администрирование серверов 1С на Linux
- Настройка и сбор логов для анализа проблем производительности систем 1С на Linux