Show/Hide Toolbars

Руководство по техническому обслуживанию

Автоматический мониторинг ошибок

Ссылки Назад Вверх Вперед

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

Порядок действий

1)В БД приложения "Первая Форма" выполните файл (при необходимости предварительно измените название БД). При этом в БД будет создана функция tc_ExceptionLogStatistics_DailyTop3, которая будет выделять в журнале три самые часто повторяющиеся ошибки за день.

2)Создайте категорию, в которую будут ставиться задачи с оповещением о повторяющихся ошибках. Предоставьте права на просмотр и выполнение задач в категории группе администраторов приложения. Подпишите администраторов на получение уведомлений при создании задачи в категории или настройте автоматические назначение их исполнителями. Добавьте в категорию ДП "Дата последнего появления ошибки" (с типом "Дата").

3)В созданной категории настройте смарт-расписание. Режим запуска может быть индивидуальным, но рекомендуется запускать расписание каждый рабочий день в 7:00. В пакете действий для расписания должны быть два смарт-действия:

a)Изменить значение ДП. Если снова возникли ошибки, которые уже были выявлены ранее и на эти ошибки уже поставлены задачи, в эти задачи в ДП "Дата последнего появления ошибки" записывается текущая дата. Нужная задача ищется по тексту ошибки:

select t.TaskID from TasksInSubcat*Denormalized as t
where t.IsClosed = 0 and
left (dbo.cm_StripHTML(dbo.cm_ReplaceHTML(t.TaskText)),250) in
(
SELECT left (dbo.cm_StripHTML(dbo.cm_ReplaceHTML( 'Автоматический ежедневный анализ лога ошибок. Текст ошибки: <br/>' + REPLACE(exc.Exception, CHAR(13), '<br/>') + '<br/><br/> Найдено <b>' + CAST(exc.ExcCount as varchar(32)) + '</b> ошибок')), 250)
FROM [tc_ExceptionLogStatistics_DailyTop3](default, default) exc
)

где * - ID созданной категории.

b) Cоздать задачу. Создаются три задачи на три самые часто повторяющиеся ошибки. Текст задачи (смарт-выражение в режиме T-SQL):

SELECT 'Автоматический ежедневный анализ лога ошибок. Текст ошибки: <br/>' + REPLACE(exc.Exception, CHAR(13), '<br/>') + '<br/><br/> Найдено <b>' + CAST(exc.ExcCount as varchar(32)) + '</b> ошибок'
FROM [tc_ExceptionLogStatistics_DailyTop3](default, default) exc
WHERE NOT EXISTS(
    SELECT t.TaskID
    FROM Tasks t WITH (NOLOCK)
    WHERE substring('Автоматический ежедневный анализ лога ошибок. Текст ошибки: <br/>' + REPLACE(exc.Exception, CHAR(13), '<br/>'), 0, 160) = substring(t.Description, 0, 160) AND t.IsClosed = 0 AND t.subcatid = *)

где * - ID созданной категории.

Полезные ссылки