2010-09-13 73 views
3

我們的商店嚴重依賴於SSIS來運行我們的後端流程和數據庫任務。總的來說,我們有數百個工作崗位,而且大部分工作都能高效順利地進行。SSIS作業監控和報告

大多數情況下,由於外部依賴性失敗(數據不可用,文件未交付等)而導致作業失敗。現在,我們的流程就是在每次作業失敗時給我們發電子郵件。 SSIS將生成一封電子郵件,發送給我們工作名稱和失敗的步驟。

我正在創建一個排序儀表板,以更有效地監視此過程。我知道,通過查詢msdb數據庫也可以從SSIS的「作業歷史記錄」窗口中找到相同的信息。我想建立一箇中心位置來報告失敗情況(可能使用SQL Reporting Services)以及更智能的電子郵件警報系統。

有沒有其他人處理過這個問題?如果是這樣,您在SSIS程序周圍創建什麼樣的流程/報告來精簡工作失敗或警報的通知?

回答

1

我們公司有類似的設置。我們主要依靠在出現問題時讓工作通知我們,並且我們有員工在特定時間檢查工作狀態,以確保一切工作正常,沒有被忽視。

我的團隊每天早上6點和下午4點收到一封SQL Server代理作業活動報告HTML電子郵件,其中列出了頂部所有失敗的作業,低於該作業的作業以及所有其他以低於每日,每週,每月,季度和其他類別。我們本質上監視SQL Server代理作業,而不是SSIS包本身。我們依靠工作類別和工作時間表命名約定來自動化報告中的分組。

我們有一個類似的設置來監控我們的SSRS訂閱。不過,我們每天只會監控一次,因爲我們的大部分訂閱是在凌晨3點到4點左右觸發的。 SSRS訂閱活動報告比SQL Server代理作業活動報告更進一步,因爲它具有指向報告訂閱屏幕的鏈接,並且內置了更多的異常處理。

除了依靠報告,我們還有一些作業設置爲在作業完成時通過電子郵件通知操作員,而不是在作業失敗時通知操作員。這使得快速檢查所有主要ETL過程是否已成功運行變得很容易。這是該系統健康狀況的早期指標。如果我們在第一個團隊成員上任時沒有收到這封電子郵件,那麼我們知道有什麼不對。如果某些數據源尚未在特定時間加載,我們還會有一系列作業失敗並出現作業錯誤。在我有一個人在早班工作之前,我會在半夜醒來時檢查我的iPhone的電子郵件(自從我有一個新生嬰兒以來,這種情況發生了很多)。在極少數情況下,我沒有收到一封電子郵件,指出所有工作已完成,或者我收到有關工作步驟的錯誤,然後通過遠程桌面登錄我的計算機以檢查工作狀態。

我認爲讓我們的數據中心人員每天早晨大約凌晨4點運行報告來檢查服務器的狀態,但最終我確定這不是必須的,因爲我們有一個人在早上6點開始工作。我在實施這個過程中主要擔心的是,我們的ETL會隨着時間的推移而發生變化,因此我需要維護關於如何正確檢查作業的文檔以及在發現問題時如何將通知升級到我的團隊。如果流程必須在半夜運行,我會願意這樣做。但是,我們的ETL每天都在運行,所以如果我們不得不在早上啓動所有主要的ETL流程,我們仍然可以在任何人進入辦公室之前完成數據倉庫的加載和發佈報告。此外,由於某種原因,我們的辦公室真的很晚纔開始,所以人們通常不會交互地運行我們的報告,直到上午9點。

0

如果您不打算進行全部自定義構建,則可以使用https://cronitor.io來監視etl作業。