Обработка предназначена для быстрого анализа блокировок на сервере 1С.
Запускается в режиме 1С:Предприятия (неважно, из какой базы).
Предварительные приготовления:
1. Создать папку на диске С:\ИмяПапкиЛогов, куда будут писаться логи технологического журнала, и расшарить её (Чтение/Запись) для пользователей, которые будут пользоваться обработкой на своих клиентских компьютерах.
2. Настроить ведение технологического журнала на сервере 1С.
Можно использовать файл настроек, который помещается на сервере по пути С:\Program Files\1cv8\conf
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log history="1" location="C:\ИмяПапкиЛогов\">
<property name="all"/>
<event>
<eq property="name" value="TTIMEOUT"/>
<eq property="p:processName" value="ИмяБазы"/>
</event>
<event>
<eq property="name" value="TDEADLOCK"/>
<eq property="p:processName" value="ИмяБазы"/>
</event>
</log>
</config>
Файл настроен только на записи логов блокировок, это для уменьшения размера, а также с перезаписью каждый час (history="1") для этого же.
Как это работает:
При начальном открытии обработки надо указать 4 параметра: ИмяСервера, ИмяБазы, ИмяПользователя с административными правами, ИмяПапкиЛогов.
По нажатию кнопки "Вывести блокировки" происходит запуск скрипта PowerShell, который парсит папки логов и создаёт структурированный файл WaitConnections_result.txt по пути папок логов ТЖ (ИмяПапкиЛогов).
Далее идёт чтение этого файла средствами 1С, обработка содержимого строк (событий ТЖ) по поиску именно событий связанных с блокировками, т.к могут попадать и другие события, например "Ошибка доступа к файлу" и проч, хотя по идее в настройке указано только запись по событиям блокировк...
Далее идёт обращение к кластеру сервера 1С для получения более подробной информации о виновнике и жертве блокировок.
Для более подробного разбора есть возможность открыть исходный txt файл лога по двойному щелчку.
Может, кому-то пригодится.
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 11, релизы 11.5.27.75
Вступайте в нашу телеграмм-группу Инфостарт