使用 Azure 監視器監視 SSIS 作業
注意
您只能在 Azure Data Factory 中使用 Azure 監視器監視 SSIS 作業,而不是在 Azure Synapse Pipelines 中。
若要轉移 SSIS 工作負載,您可以在支援下列項目的 ADF 中佈建 SSIS IR:
- 執行已部署到 SSIS 目錄 (SSISDB) 的套件,此目錄由 Azure SQL Database 伺服器/受控執行個體 (專案部署模型) 裝載
- 執行已部署到 Azure SQL 受控執行個體 (套件部署模型) 所裝載檔案系統、Azure 檔案儲存體或 SQL Server 資料庫 (MSDB) 中的套件
佈建之後,您可以使用 Azure PowerShell 或在 ADF 入口網站的監視中樞上檢查 SSIS IR 作業狀態。 使用專案部署模型時,SSIS 套件執行記錄會儲存在 SSISDB 內部資料表或檢視中,因此您可以使用 SSMS 之類的指定工具來查詢、分析及視覺化呈現記錄。 使用套件部署模型,SSIS 套件執行記錄可以儲存在檔案系統中,或以 CSV 檔案儲存在 Azure 檔案儲存體,您仍然需要使用其他指定的工具來剖析和處理,然後才能查詢、分析和視覺化呈現記錄。
現在,您可以使用 Azure 監視器整合來查詢、分析和視覺化呈現從 SSIS IR 作業產生的所有計量和記錄,以及 Azure 入口網站上的 SSIS 套件執行。 此外,您也可以對其發出警示。
設定 SSIS 作業的診斷設定和工作區
若要將所有從 SSIS IR 作業和 SSIS 套件執行產生的計量和記錄傳送至 Azure 監視器,您需要為 ADF 設定診斷設定和工作區。
SSIS 作業計量
SSIS 作業計量是效能計數器或數值,可描述 SSIS IR 啟動和停止作業的狀態,以及特定時間點的 SSIS 套件執行。 其是 Azure 監視器計量的一部分。
當您在 Azure 監視器上設定 ADF 的診斷設定和工作區時,選取 [AllMetrics] 核取方塊,即可使用 Azure 計量總管、Azure 儀表板上的簡報,以及近乎即時的警示,讓 SSIS 作業計量可供互動式分析使用。
SSIS 作業警示
若要從 ADF 入口網站提出 SSIS 作業計量的警示,請選取 ADF 監視器中樞的 [警示和計量] 頁面,並遵循提供的逐步指示。
若要從 Azure 入口網站引發 SSIS 作業計量的警示,請選取 Azure 監視器中樞的 [警示] 頁面,並遵循提供的逐步指示。
SSIS 作業記錄
SSIS 作業記錄是由 SSIS IR 作業和 SSIS 套件執行所產生的事件,可在任何已識別的問題上提供足夠的內容,並且可用於根本原因分析。
當您在 Azure 監視器上設定 ADF 的診斷設定和工作區時,您可以選取相關的 SSIS 作業記錄,並將其傳送至以 Azure 資料總管為基礎的 Log Analytics。 在該處,將會使用豐富的查詢語言、Azure 儀表板上的簡報,以及近乎即時的警示來對那些記錄進行分析。
Azure 監視器和 Log Analytics 中 SSIS 套件執行記錄的結構描述和內容類別似於 SSISDB 內部資料表或檢視的結構描述。
Azure 監視器記錄類別 | Log Analytics 資料表 | SSISDB 內部資料表/檢視 |
---|---|---|
SSISIntegrationRuntimeLogs |
ADFSSISIntegrationRuntimeLogs |
|
SSISPackageEventMessageContext |
ADFSSISPackageEventMessageContext |
[internal].[event_message_context] |
SSISPackageEventMessages |
ADFSSISPackageEventMessages |
[internal].[event_messages] |
SSISPackageExecutableStatistics |
ADFSSISPackageExecutableStatistics |
[internal].[executable_statistics] |
SSISPackageExecutionComponentPhases |
ADFSSISPackageExecutionComponentPhases |
[internal].[execution_component_phases] |
SSISPackageExecutionDataStatistics |
ADFSSISPackageExecutionDataStatistics |
[internal].[execution_data_statistics] |
如需 SSIS 作業記錄屬性/內容的詳細資訊,請參閱資源記錄 (部分機器翻譯)。
無論您的叫用方法為何,您選取的 SSIS 套件執行記錄一律會傳送至 Log Analytics。 例如,您可以在已啟用 Azure 的 SSDT 上,透過 T-SQL 在 SSMS、SQL Server Agent 或其他指定的工具上,以及作為在 ADF 管線中「執行 SSIS 套件」活動的已觸發或偵錯執行叫用套件執行。
在 Logs Analytics 上查詢 SSIS IR 作業記錄時,您可以使用分別設定為 Start/Stop/Maintenance/Heartbeat
和 Started/InProgress/Succeeded/Failed/Healthy/Unhealthy
的 OperationName 和 ResultType 屬性。
若要查詢 SSIS IR 節點狀態,您可以將 OperationName 屬性設定為 Heartbeat
。 每個節點通常會每分鐘傳送一筆 Heartbeat
記錄到 Log Analytics,其中 ResultType 屬性會反映其狀態,也就是可用於套件執行時是 Healthy
以及無法使用時是 Unhealthy
。 例如,如果 SSIS IR 有兩個可用的節點,您一律會在任何一分鐘的期間內看到 ResultType 屬性設定為 Healthy
的兩筆 Heartbeat
記錄。
您可以查詢下列模式來偵測 SSIS IR 節點無法使用程度:
- 當 SSIS IR 仍在執行時,許多一分鐘的期間內遺漏
Heartbeat
記錄。 - 當 SSIS IR 仍在執行時,在許多一分鐘的期間內有許多
Heartbeat
記錄的 ResultType 屬性會設定為Unhealthy
。
您可以將上述查詢轉換成警示,並移至 SSIS IR 監視頁面,以確認何時收到這些警示。
在 Logs Analytics 上查詢 SSIS 套件執行記錄時,您可以使用 OperationId/ExecutionId/CorrelationId 屬性將其聯結。 對於所有未儲存在 SSISDB/透過 T-SQL 叫用之套件相關的所有作業/執行,OperationId/ExecutionId 一律會設定為 1
。