Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Можно ли в лоб написать отчёт по работе сложного ETL  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4807
У меня есть идея реализовать мониторинг нашего ETL. Но вот в чём затык. Пишут этот ETL уже несколько лет. Ещё до моего прихода в компанию. В нём задействованы
1) Agent Jobs
2) Они могут запускать пакеты SSIS или хранимые процедуры или в единичных случаях другое Jobs
3) Пакеты могут в свою очередь запускать другие пакеты, хранимые процедуры, скрипты, задачи процессинга SSAS, DataFlow

Джобы и пакеты сейчас собрали на одном сервере, процедуры могут быть на разных серверах.

Можно ли написать запрос, который соберёт дерево всего этого ETL, начиная от вызова первой джобы и до выполнения индивидуальных шагов и блоков в пакетах? Дерево статистикой исполнения (время, может быть другие характеристики).
9 окт 14, 17:21    [16683296]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в лоб написать отчёт по работе сложного ETL  [new]
Crimean
Member

Откуда:
Сообщений: 13148
а пойти по пути МС и добавить кастомное логирование в таблички протоколов - не предлагать?
а уже по ним спокойно строить отчеты
9 окт 14, 17:25    [16683330]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в лоб написать отчёт по работе сложного ETL  [new]
Glory
Member

Откуда:
Сообщений: 104760
a_voronin
Можно ли написать запрос, который соберёт дерево всего этого ETL, начиная от вызова первой джобы и до выполнения индивидуальных шагов и блоков в пакетах?

Это дерево не должно "собираться" из анализа содержимого пакетов/джобов.
Эта информация изначально должна храниться где-то.
И создание нового процесса начинается с определения его позиции в этой иерархии.
9 окт 14, 17:29    [16683356]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в лоб написать отчёт по работе сложного ETL  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4807
Crimean
а пойти по пути МС и добавить кастомное логирование в таблички протоколов - не предлагать?
а уже по ним спокойно строить отчеты


Это первое решение, которое я предложил. Но ввиду огромного кол-ва блоков (больше 1000) начальство хочет попытаться решить задачу в лоб. При этом я согласен, что то, что вы предлагаете -- это правильно.
9 окт 14, 17:30    [16683361]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в лоб написать отчёт по работе сложного ETL  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4807
Glory
Это дерево не должно "собираться" из анализа содержимого пакетов/джобов.
Эта информация изначально должна храниться где-то.
И создание нового процесса начинается с определения его позиции в этой иерархии.


Понятно, что парзить пакеты и скрипты -- это безумная идея. Задача скорее стоит в том, чтобы перегруппировать логи, которые все эти вещи генерят.

Что касается позиции в иерархии, то переодически случаются крупные перегруппировки последовательностей выполнения. Кстати очень многое пущено в параллель. SSIS может хорошо параллелить задачи. Берёт и 8 других пакетов пускает параллельно.
9 окт 14, 17:33    [16683379]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в лоб написать отчёт по работе сложного ETL  [new]
Glory
Member

Откуда:
Сообщений: 104760
a_voronin
Что касается позиции в иерархии, то переодически случаются крупные перегруппировки последовательностей выполнения. Кстати очень многое пущено в параллель. SSIS может хорошо параллелить задачи. Берёт и 8 других пакетов пускает параллельно

Еще раз
Иерархия процессов - это заранее созданная база.
Любой запускающийся процесс прежде всего проверяется на соответствие этой иерархии.
Т.е. не может существовать процесса вне иерархии или нарущающего ее.
И перегруппировка последовательностей ничего не меняет в этом.
9 окт 14, 17:38    [16683391]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в лоб написать отчёт по работе сложного ETL  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4807
Glory
Еще раз
Иерархия процессов - это заранее созданная база.
Любой запускающийся процесс прежде всего проверяется на соответствие этой иерархии.
Т.е. не может существовать процесса вне иерархии или нарущающего ее.
И перегруппировка последовательностей ничего не меняет в этом.


В теории всё хорошо. На практике могут быть политические решения.

Поставим задачу так. Отработал джоб из 20 шагов, внутри каждого могли произойти многоуровневые вложенные вызовы всего, что я перечислил. Реально ли на 21 шаге опираясь на логи агента, логи SSIS, DMV собрать всё, что этот джоб делал, пусть даже с грубой детализацией, но со временем выполнения в виде дерева или графа. Потом этот как-то отобразить.
9 окт 14, 17:45    [16683434]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в лоб написать отчёт по работе сложного ETL  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8317
Здесь речь несколько о другом - не сперва выполнить работы (джобы, пакеты), а затем писать план работ по результатам "астрономических наблюдений", а написать план (создать базу, метаданные, регламент), а по нему выполнять работу автоматики. Т.е. хороший повод пересмотреть и упорядочить бизнес-процессы.

В таком случае каждая перестройка процессов будет утвержденным и согласованным планом и мониторить надо будет план, а не отдельные компоненты.
9 окт 14, 18:19    [16683646]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в лоб написать отчёт по работе сложного ETL  [new]
NickAlex66
Member

Откуда:
Сообщений: 319
a_voronin,

Таки реализуйте в 21 стэпе начитку логов агента с отправкой по почте. Может данных будет достаточно.
9 окт 14, 21:08    [16684182]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в лоб написать отчёт по работе сложного ETL  [new]
Alex_496
Member [заблокирован]

Откуда: https://www.dvbi.ru
Сообщений: 3869
Владислав Колосов,

+1

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

Когда Job-ики вызывают хранимые процедуры да еще на разных сервера, а те еще пакеты - это просто самостийный кодинг по собиранию чего-то в кучу.
9 окт 14, 21:24    [16684239]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить