有時候,Azure 串流分析作業會非預期地停止處理。 錯誤發生的原因可能是非預期的查詢結果、裝置的連線狀況,或未預期的服務中斷。 Azure 串流分析 中的資源日誌能幫助你找出這些故障的原因並縮短復原時間。
啟用所有 Stream Analytics 職缺的資源日誌,以協助除錯與監控。
串流分析日誌類型
串流分析提供開兩種記錄類型:
活動記錄(一律啟用),可讓您深入了解對作業執行的操作。
資源記錄 (可設定) 可讓您更深入地了解所有與作業相關的發生事件。 資源記錄會在作業建立時開始執行,並在作業刪除時結束。 這些記錄涵蓋作業更新時與作業執行時的情形。
注意
您可以使用 Azure 儲存體、Azure 事件中樞和 Azure 監視器記錄等服務來分析不一致的資料。 你的收費是根據這些服務的定價模式來計算的。
注意
本文最近有所更新,改為使用「Azure 監視器記錄」一詞,而非 Log Analytics。 記錄資料仍儲存在 Log Analytics 工作區中,並仍由相同的 Log Analytics 服務收集和分析。 我們會持續更新術語,以更精確地反映 Azure 監視器記錄的角色。 如需詳細資訊,請參閱 Azure 監視器 術語變更。
使用活動記錄對串流分析工作進行偵錯
活動記錄預設會開啟,可以對串流分析工作所執行的作業提供高層級的深入解析。 活動日誌中的資訊可能有助於找出影響你工作的根本原因。 要在 Stream Analytics 中使用活動日誌,請依照以下步驟操作:
登入 Azure 入口網站,並在 [概觀] 下選取 [活動記錄]。
您可以看到一份已執行的作業清單。 任何導致您的工作失敗的操作旁,都會顯示紅色的資訊泡泡。
選取作業,以查看其摘要檢視。 這裡的資訊通常有限。 若要深入了解作業的相關資訊,請選取 [JSON]。
向下捲動至 JSON 的 [屬性] 區段,該區段提供導致作業失敗的錯誤的詳細資料。 在此範例中,失敗是由於緯度值超出範圍而導致的執行階段錯誤。 串流分析工作處理的資料不一致會導致資料錯誤。 您可以了解不同的輸入和輸出資料錯誤,以及其發生原因。
根據 JSON 錯誤訊息採取糾正措施。 在此範例中,加入檢查以確保緯度值介於 -90 度與90度之間。
如果活動日誌中的錯誤訊息無法幫助找出根本原因,請啟用資源日誌並使用 Azure 監視器 日誌。
將串流分析診斷傳送至 Azure 監視器記錄
開啟資源日誌並傳送到 Azure 監視器 日誌。 資源日誌預設 是關閉 的。
如果您尚未建立 Log Analytics 工作區,請加以建立。 將您的 Log Analytics 工作區置於與 Stream Analytics 職缺相同的區域。
登入 Azure 入口網站,然後移至您的 Stream Analytics 作業。 在 [監視] 下,選取 [診斷記錄]。 然後選取 [開啟診斷]。
在診斷設定名稱中提供名稱,然後勾選記錄底下的執行 和撰寫方塊,以及指標底下的 AllMetrics。 然後選取 [傳送至 Log Analytics] ,然後選擇工作區。 選取 儲存。
當串流分析作業啟動時,資源記錄會路由至 Log Analytics 工作區。 若要檢視作業的資源記錄,請選取 [監視] 區段底下的 [記錄]。
串流分析提供預先定義的查詢,可讓您輕鬆地搜尋您感興趣的記錄。 您可以在左窗格上選取任何預先定義的查詢,然後選取 [執行]。 您將會在底部窗格中看到查詢的結果。
串流分析資源日誌類別
Azure 串流分析會擷取兩種資源記錄類別:
撰寫:擷取與作業撰寫作業相關之記錄事件,例如作業建立、新增及刪除輸入與輸出、新增及更新查詢、開始及停止作業。
執行:擷取作業執行期間發生的事件。
- 連線錯誤
- 資料處理錯誤,包括:
- 不符合查詢定義的事件 (不相符的欄位類型與值或遺漏欄位等)
- 運算式評估錯誤
- 其他事件和錯誤
所有記錄會儲存為 JSON 格式。 若要了解資源記錄的結構描述,請參閱資源記錄結構描述。