使用作業圖表進行資料導向偵錯

在 Azure 入口網站中,[監視] 刀鋒視窗上的作業圖表可協助您將作業流程視覺化。 圖表會顯示輸入、輸出和查詢步驟。 您可以使用作業圖表來檢查每個步驟的計量,以便在進行移難排解時更快速地找出問題來源。

使用作業圖表

當串流作業執行時,在 Azure 入口網站中的 [支援+疑難排解] 下選取 [作業圖表]

Job diagram with metrics - location

選取每個查詢步驟,可在查詢編輯窗格中看到對應的區段。 步驟的計量圖表會顯示在頁面上的下方窗格中。

Job diagram with metrics - basic job

若要查看 Azure 事件中樞的分割區,請選取 . . .操作功能表隨即出現。 您也可以看到輸入的合併。

Job diagram with metrics - expand partition

若只要查看單一分割區的計量圖表,請選取分割區節點。 計量資訊會顯示在頁面底部。

Job diagram with metrics - more metrics

若要查看合併的計量圖表,請選取合併節點。 下列圖表顯示沒有任何事件遭到捨棄或調整。

Job diagram with metrics - grid

若要查看的計量值和時間的詳細資訊,請指向圖表。

Job diagram with metrics - hover

使用計量進行疑難排解

QueryLastProcessedTime 計量表示特定步驟收到資料的時間。 藉由觀看拓撲,您可以從輸出處理器回溯的工作看出哪個階段沒有接收資料。 如果步驟沒有取得資料,請移至該步驟之前的查詢步驟。 檢查先前查詢步驟中是否有時間範圍,以及時間分配是否足夠讓其輸出資料。 (請注意,時間範圍會以小時分配。)

若前一個查步驟為輸入處理器,使用輸入計量可協助回答下列預定問題。 這可協助您判斷作業是否正在從輸入來源取得資料。 如果查詢已分割,則檢查每個資料分割。

已讀取多少資料?

  • InputEventsSourcesTotal 是讀取的資料單位數目。 例如,Blob 的數目。
  • InputEventsTotal 是讀取的事件數目。 此度量適用於每個資料分割。
  • InputEventsTotal 是讀取的位元組數目。
  • InputEventsLastArrivalTime 會更新每個收到事件的加入佇列時間。

時間是否正在前進? 若實際事件已讀取,則可能無需加上標點符號。

  • InputEventsLastPunctuationTime 指出何時加上了標點符號,使時間能繼續前進。 若未加上標點符號,可能使資料流程遭到封鎖。

在輸入中是否有任何錯誤?

  • InputEventsEventDataNullTotal 是具有 Null 資料的事件計數。
  • InputEventsSerializerErrorsTotal 是無法正確還原序列化的事件計數。
  • InputEventsDegradedTotal 是有其他還原序列化以外問題的事件計數。

事件遭到捨棄或調整?

  • InputEventsEarlyTotal 是在高水位線之前,具有應用程式時間戳記的事件數目。
  • InputEventsLateTotal 是在高水位線之後,具有應用程式時間戳記的事件數目。
  • InputEventsDroppedBeforeApplicationStartTimeTotal 是在作業開始時間之前已捨棄的事件數目。

讀取資料的速度太慢了嗎?

  • Input Events Backlogged (Total) 會告訴您事件中樞及 Azure IoT 中樞輸入還需要讀取多少訊息數量。 當這個數目大於 0 時,表示您的作業無法以資料進來的速度處理資料。 此時,您可能需要增加串流單位數目,並/或確定您的工作可平行處理。 您可以在查詢平行化作業頁面參閱相關的詳細資訊。

取得協助

如需其他協助,請嘗試使用 Azure 串流分析的 Microsoft Q&A 頁面

下一步