Yellow Watcher - Жёлтый наблюдатель за информационными базами

14.04.24

Администрирование - Мониторинг

Программный комплекс мониторинга качества работы информационных баз. Статистика возникновения управляемых блокировок (тип, последняя строка контекста, контекст). Анализ длительных запросов по данным из технологического журнала. Анализ потребления ресурсов СУБД запросами и статистика ожиданий по данным из Query Store. Монитор информационной базы - получение плана запроса для сеанса 1С. Блокировки СУБД по данным block_report Extented Events, длительные запросы по данным из query_post_execution_showplan Extented Events.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Yellow Watcher - Жёлтый наблюдатель за информационными базами
.zip 4,46Mb
31 2 500 руб. Купить
Yellow Watcher 2024.03.23 - Жёлтый наблюдатель за информационными базами
.zip 4,47Mb
6 2 500 руб. Купить
Yellow Watcher 2024.04.14 - Жёлтый наблюдатель за информационными базами
.zip 4,53Mb
17 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Обновление 14.04.2024

  1. Добавлен импорт событий query_post_execution_showplan Extented Events для получения актуальных планов длительных событий.
  2. Добавлено сопоставление длительных событий технологического журнала с длительными событиями query_post_execution_showplan Extented Events.
  3. Для длительных событий технологического журнала добавлено отображение плана запроса в формате XML, возможность открытия плана в сторонней программе просмотра планов запросов, информации об используемой статистики и её актуальности при компиляции плана, значения параметров запроса с которыми произошла компиляция плана, с которыми запрос выполнялся.

Обновление 23.03.2024

  1. Добавлена возможность сбора исключений MS SQL Server по данных из технологического журнала 1С с классификацией по типу исключения.
  2. Добавлен импорт событий block_report Extented Events.
  3. Добавлен отчет "Анализ блокировок СУБД" (Сопоставляются данные из технологического журнала 1С и данные block_report Extented Events).

Состав программного комплекса

  1. Расширение YellowWatcher.cfe, совместимость не ниже 8.3.15, платформа не ниже 8.3.23 (регламентные задания в расширении).
  2. Нативная внешняя компонента yellow-watcher-addin.dll (только windows x64).
  3. Windows сервис yellow-watcher.exe (только windows x64).
  4. Шаблон настройки технологического журнала logcfg.xml.
  5. Скрипт YellowWatcher.sql для настройки событий block_report, query_post_execution_showplan для Extented Events.

Общее описание

Программный комплекс предназначен для мониторинга качества работы информационных баз, работающих в режиме клиент-серверной архитектуры на ОС семейства Windows и использующих СУБД MS SQL Server. Основным компонентом взаимодействия с пользователем является расширение YellowWatcher.cfe, которое является самодостаточным и может быть установлено в любую информационную базу. Исходя из опыта использования по удобству эксплуатации хорошо подходит конфигурация "Центр Контроля Качества" от фирмы 1С.

Для сбора информации об управляемых блокировках и длительных запросах к СУБД используется информация из технологического журнала, которая собирается и анализируется сервисом yellow-watcher.exe. Результат анализа, строкой в формате json, отправляется в http-сервис расширения, где конвертируется в объектные сущности информационной базы.

Для более подробного анализа нагрузки, создаваемой запросами в СУБД, необходимо использовать Query Store из состава MS SQL Server. Регламентное задание "Анализ хранилища запросов (YellowWatcher)" периодически обращается к серверу СУБД, получает необходимую информацию таблиц Query Store в виде строки формата json и конвертирует её в объектные сущности информационной базы.

Основное достоинство программного комплекса - обработка текстов запросов. Тексты запросов нормализируются (удаляются все незначащие символы, номера временных таблиц, параметры и т.п.), а затем вычисляется хеш. Данное решение позволяет просто получать контекст прикладного кода конфигурации 1С по тексту запроса, полученного из Query Store, Profiler или другим способом из СУБД напрямую.

 

Порядок установки

  1. Установить расширение YellowWatcher.cfe в информационной базе.
  2. Опубликовать http-сервис YellowWatcher_IntegrationService.
  3. Добавить пользователя в информационную базу, установить ему аутентификацию средствами 1С, назначить роль YellowWatcher_IntegrationService.
  4. На рабочих серверах кластера 1С настроить технологический по предложенному шаблону, секция plansql обязательна.
<?xml version="1.0"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">"
	<log location="C:\LOGS_YW" history="1">
		<event>
			<eq property="Name" value="TTIMEOUT"/>
		</event>
		<event>
			<eq property="Name" value="TDEADLOCK"/>
		</event>
		<event>
			<eq property="Name" value="TLOCK"/>
			<ne property="WaitConnections" value=""/>
		</event>
		<event>
			<eq property="name" value="DBMSSQL"/>
			<ge property="durationus" value="3000000"/>
		</event>
		<event>
			<eq property="Name" value="EXCP"/>
		</event>
		<property name="all"/>
	</log>
	<plansql/>
</config>
  1. На рабочие сервера кластера 1С установить службу "Yellow Watcher Service". Для установки необходимо скопировать файл yellow-watcher.exe в заданный каталог и под правами администратора в консоли выполнить команду "yellow-watcher.exe -M install". Для работы службы достаточно прав "Local system".
  2. После установки службы в каталоге будет создан файл settings.json, необходимо его отредактировать для корректной работы службы. Где logs_path - каталог технологического журнала, service_path - адрес публикации http-service для отправки данных, user и password - параметры аутентификации для отправки данных по http, log_storage_duration_in_hours - глубина хранения логов работы сервиса, duration_long_request - длительность события DBMSSQL в ТЖ при котором запрос считается длительным. Пример настройки:
{
	"logs_path": "С:\\LOGS_YW",
	"service_path": "http://server-iis/qmc/hs/IntegrationService/Load",
	"user": "YellowWatcher",
	"password": "YellowWatcher",
	"log_storage_duration_in_hours" : 24,
	"duration_long_request" : 3000000
}
  1. После запуска службы и обработки данных в информационной базе, где установлено расширение YellowWatcher будут доступны для использования следующие отчеты: "Анализ длительных запросов" и "Статистика управляемых блокировок".
  2. Для получения данных из Query Store, которое должно быть включено на сбор данных на стороне СУБД, необходимо настроить параметры прямого подключения к базе данных (у пользователя должны быть права на чтение из Query Store). В справочнике "Базы данных" для выбранной базы необходимо указать драйвер ODBC = "ODBC Driver 17 for SQL Server", с помощью которого нативная компонента будет подключаться к базе. Данный драйвер должен быть установлен на сервер, на котором расположен сервер 1С:Предприятие с установленным расширением. Так же необходимо указать сервер СУБД, порт, базу данных на сервере, пользователя и пароль. Не рекомендуется создавать элементы данного справочника интерактивно, т.к. наполнение происходит при обработке событий DBMSSQL из данных технологического журнала. Пример настройки:

   

   

 

  1. Для включения экспорта данных из Query Store необходимо установить флаг "Анализ хранилища запросов" на закладке "Основное" элемента справочника "Базы данных".

   

   

 

  1. После выполнения настройки подключения к Query Store будут доступны следующие отчеты: "Анализ запросов" и "Анализ ожиданий СУБД".
  2. Для импорта данных block_report необходимо на сервере MS SQL настроить сбор событий Extented Events для всего сервера. А так же установить пороговое значение заблокированного процесса blocked process threshold в 10 секунд. В трассировку Extented Events будут попадать события, время ожидания которых превысит 10 секунд.
sp_configure 'blocked process threshold', 10
go
reconfigure
go

CREATE EVENT SESSION [block_report] ON SERVER 
ADD EVENT sqlserver.blocked_process_report(
    ACTION(sqlserver.client_app_name,sqlserver.database_id,sqlserver.database_name,sqlserver.query_hash,sqlserver.session_id,sqlserver.sql_text))
ADD TARGET package0.event_file(SET filename=N'D:\trc\block_report',max_file_size=(32),max_rollover_files=(8))
WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=5 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=ON)
GO
  1. Для выполнения импорта данных block_report в конфигурацию YellowWatcher необходимо выполнить настройки элемента справочника "Базы данных" на странице "Заблокированные процессы (Ext. Events)".

  1. Для импорта данных query_post_execution_showplan настроить сбор событий Extented Events для всего сервера. Так же необходимо установить каталог файлов, маску файлов и признак выполнять анализ на странице "Длительные запросы (Ext. Events)" соответствующего элемента справочника "Базы данных".

 

Сервисная обработка "Монитор информационной базы"

Для работы данной сервисной обработки необходимы дополнительные компоненты системы 1С:Предприятие. Для выполнения административного подключения к кластеру 1С необходимо настроить утилиту RAS из поставки платформы 1С:Предприятие. Так же на сервере 1С в каталоге платформы должна быть установлена утилита управления автономным сервером ibcmd. Так же необходимо заполнить следующие настройки у элемента справочника "Кластеры 1С":

Сервер RAS, как пример server-1C:1545

Каталог кластера, как пример \\server-1C\1cv8\srvinfo_1540 (данный каталог должен быть доступен с сервера, на котором расположена база с расширением YellowWatcher).

 

Сервисная обработка "Хеш запроса"

Позволяет по тексту запроса, полученного из СУБД (Query Store, Profiler и т.п.) получить хеш запроса для сопоставления его с запросами из ТЖ, получить контексты вызовов прикладного кода, которые выполняют данные запросы. На форме присутствует страница с динамическим списком регистра сведений "Длительные запросы" с отбором по хешу запроса и за период 24 часа от текущего момента времени.

Вступайте в нашу телеграмм-группу Инфостарт

Конфигурация Внешняя компонента Утилита

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С:Предприятие 8 1С 8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Библиотека стандартных подсистем 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Узнайте возможность внедрения подсистемы у себя в конфигурации с помощью бесплатной обработки "Анализ внедрения подсистемы 1С Infostart Dashboard"!

29280 руб.

27.03.2025    70324    42    29    

55

Перенос данных 1C Мониторинг Программист 1С 8.3 1С:Документооборот 1С:ERP Управление предприятием 2 Россия Абонемент ($m)

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

1 стартмани

29.01.2026    293    1    Triplexx    0    

2

Мониторинг Системный администратор Программист Бесплатно (free)

Описания проблем и решений при настройке мониторинга. Мои подготовительные мероприятия.

23.01.2026    478    ImHunter    5    

1

Технологический журнал Мониторинг Системный администратор Программист Бесплатно (free)

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

29.12.2025    6248    leongl    0    

18

HighLoad оптимизация Мониторинг Системный администратор Программист Бесплатно (free)

Делимся опытом поддержки баз 1С с более чем 6 000 одновременно работающих пользователей и рассказываем о ключевых подходах к контролю высоконагруженных систем. Рассмотрим реальные кейсы и дадим ответ на вопрос о том,: что точно надо контролировать. Сравним ElasticSearch и ClickHouse, дадим ссылки на статьи и репозитарии для быстрого старта, а также посмотрим на примеры рабочих столов для анализа логов технологического журнала в ElasticSearch.

19.12.2025    1782    Sergey.Noskov    2    

11

Администрирование СУБД Технологический журнал Мониторинг Системный администратор Программист Бесплатно (free)

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

15.12.2025    3897    tystik    1    

8

Мониторинг Системный администратор 1С 8.3 Россия Бесплатно (free)

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

03.12.2025    9807    user798823    2    

4

Мониторинг Журнал регистрации Технологический журнал Системный администратор Программист Бесплатно (free)

Мониторинг в ландшафте 1С помогает не только вовремя выявлять проблемы и повышать SLA, но и укреплять информационную безопасность. Разбираем источники данных, ограничения штатных инструментов и современные практики мониторинга на базе Prometheus, ClickHouse и Grafana. А также рассказываем о коробочном решении «Оркестратор 1С-систем» и планах его развития.

29.10.2025    2099    Sibars    0    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Lars Ulrich 637 13.02.24 10:00 Сейчас в теме
Огонь. Так понял, что служба YellowWatcher в принципе самостоятельное решение, которое может поставлять данные не только в текущую конфигурацию, но и в сторонние сервисы мониторинга и аналитики.
2. sdf1979 212 13.02.24 10:49 Сейчас в теме
(1)Служба отдаёт данные в виде json по http. Формат json самодокументирован, разобраться не сложно, но нужно ли... Есть множество решений по перекладыванию технологического журнала в различные другие базы данных. Вся соль в хешировании текста запроса из ТЖ и из MS SQL. Т.к. хеши совпадают, то по тексту запроса, полученного из СУБД, достаточно легко выйти на контекст прикладного кода, главное что бы этот запрос хотя бы один раз засветился в технологическом журнале. Так же по проблемному запросу можно создать задачу, выполнить привязку к хешу запроса и тогда при формировании аналитических отчетов получаем полную картину какие запросы в работе, а какие требуют анализа.
3. user2051597 13.02.24 12:55 Сейчас в теме
Здравствуйте.
Подскажите, пожалуйста имеется ли аналогичное решение для ОС Линукс и СУБД Постгри?
4. sdf1979 212 13.02.24 14:45 Сейчас в теме
(3)Добрый день! Только под стек Windows.
5. kauksi 217 15.02.24 09:42 Сейчас в теме
написано "Опубликовать http-сервис YellowWatcher_IntegrationService.", но в списке веб-сервисов его нет. Достаточно ли галки "публиковать HTTP сервисы расширений по умолчанию"?
6. kauksi 217 15.02.24 10:07 Сейчас в теме
нужно ли снимать галку "безопасный режим для расширения" ?
какая авторизация в iis требуется?


" URL-адрес, куда надо попасть, представляет собой страницу ASP или подключен к расширению ISAPI, приложению CGI либо к специализированному обработчику. Специальное расширение ISAPI, приложение CGI, страница ASP или обработчик отказали в выполнении запроса, возвратив ошибку "Доступ запрещен". "
8. sdf1979 212 15.02.24 10:44 Сейчас в теме
(6)Добрый день!
В конфигурации, которая эксплуатируется отключены следующие режимы:
- Безопасный режим, имя профиля безопасности
- Защита от опасных действий
- Используется в распределенной ИБ

Публикация http-сервиса "стандартная одинэсовская", авторизация Basic Auth, пользователь в 1С должен быть с авторизацией "Аутентификация 1С:Предприятия".

Для проверки корректности публикации можно воспользоваться postman, либо сделать тестовую обработку отправки данных в http-сервис на 1С.
7. kauksi 217 15.02.24 10:27 Сейчас в теме
Send via http. Response code received 401. Подробные данные об ошибке IIS 10.0 — 401.5 — Unauthorized
Ошибка HTTP 401.5 — Unauthorized
9. dima_gsv 23 05.03.24 15:56 Сейчас в теме
В settings.json перепутаны user и password
10. sdf1979 212 08.03.24 21:13 Сейчас в теме
(9)Спасибо! Проверю, поправлю...
11. sdf1979 212 24.03.24 08:43 Сейчас в теме
(9)Ошибка исправлена в Yellow Watcher 2024.03.23. Спасибо!
12. dima_gsv 23 29.05.24 09:12 Сейчас в теме
Случилось как то, что в YellowWatcher_Буфер попал кривой json. Судя по содержимому - обрезанный. Как так получилось, я не разбирался. Но из-за этого разбор регистра остановился.
Ошибка при вызове метода контекста (ПрочитатьJSON)
{YellowWatcher ОбщийМодуль.YellowWatcher_Буфер.Модуль(54)}:ДанныеJSON = ПрочитатьJSON(ЧтениеJSON, Истина, "date");

Предлагаю обработать ошибку чтения json в этом месте, чтобы разбор буфера не останавливался.
Я у себя пока в Попытку обернул:
			Попытка
			ЧтениеJSON = Новый ЧтениеJSON;
			ЧтениеJSON.УстановитьСтроку(Выборка.Данные);
			ДанныеJSON = ПрочитатьJSON(ЧтениеJSON, Истина, "date");
			ЧтениеJSON.Закрыть();
			
			НаборыЗаписей = ДанныеДляЗаписи(ДанныеJSON, Кеш);
			
			ДанныеДляЗаписиМассив.Добавить(Новый Структура("НаборыЗаписей, ДатаЗаписиUTC, УидЗаписи, ЭтоЦКК, tlock, date",
				НаборыЗаписей,
				Выборка.ДатаЗаписиUTC,
				Выборка.УидЗаписи,
				ЭтоЦКК,
				ДанныеJSON["tlock"],
				ДанныеJSON["date"])
			);
			Исключение
			ЗаписьЖурналаРегистрации("Буфер загрузки.Ошибка чтения JSON", УровеньЖурналаРегистрации.Ошибка, , Выборка.Данные, ОписаниеОшибки());
			ДанныеДляЗаписиМассив.Добавить(Новый Структура("НаборыЗаписей, ДатаЗаписиUTC, УидЗаписи, ЭтоЦКК, tlock, date",
				Новый Соответствие,
				Выборка.ДатаЗаписиUTC,
				Выборка.УидЗаписи,
				ЭтоЦКК)
			);
			КонецПопытки;
Показать
15. sdf1979 212 30.05.24 08:03 Сейчас в теме
(12)Спасибо! Исправление выйдет в ближайшей версии.
13. dima_gsv 23 29.05.24 09:23 Сейчас в теме
В обработке YellowWatcher_РегламентныеИФоновыеЗадания при попытке редактирования регламентного задания возникает ошибка
Ошибка при вызове метода контекста (ОткрытьФорму)
{YellowWatcher Обработка.YellowWatcher_РегламентныеИФоновыеЗадания.Форма.РегламентныеИФоновыеЗадания.Форма(782)}:ОткрытьФорму("Обработка.ОМС_РегламентныеИФоновыеЗадания.Форма.РегламентноеЗадание", ПараметрыФормы, ЭтотОбъект);
{YellowWatcher Обработка.YellowWatcher_РегламентныеИФоновыеЗадания.Форма.РегламентныеИФоновыеЗадания.Форма(169)}:ДобавитьСкопироватьИзменитьРегламентноеЗадание("Изменить");

Эта "ОМС_РегламентныеИФоновыеЗадания" в двух местах в расширении упоминается...
14. sdf1979 212 30.05.24 07:57 Сейчас в теме
(13)Спасибо! Исправление будет в ближайшей версии.
16. dima_gsv 23 15.11.24 10:04 Сейчас в теме
У меня два кластера 1с на одной машине с разными версиями платформы 1с. В разные каталоги пишется технологический журнал разных версий 1с. Можно ли одним YW собирать информацию с двух разных каталогов?
17. sdf1979 212 14.02.25 18:07 Сейчас в теме
(16)Нельзя. Как вариант поднять еще один инстанс службы YellowWatcher.exe.
Для отправки сообщения требуется регистрация/авторизация