監控 Dataflow 自動調度資源

您可以在 Dataflow 監控介面中,查看串流工作的自動調度資源監控圖表。這些圖表會顯示管道工作期間的指標,並包含下列資訊:

  • 工作在任何時間點使用的 worker 執行個體數量
  • 自動調度資源記錄檔
  • 預估待處理工作量變化趨勢
  • 一段時間內的平均 CPU 使用率

圖表會垂直對齊,方便您將待處理工作和 CPU 使用率指標與 worker 資源調度事件建立關聯。

如要進一步瞭解 Dataflow 如何做出自動調度資源決策,請參閱「自動調整功能」說明文件。如要進一步瞭解 Dataflow 監控和指標,請參閱「使用 Dataflow 監控介面」。

存取自動調度資源監控圖表

您可以使用Google Cloud console存取 Dataflow 監控介面。如要存取「Autoscaling」(自動調度資源) 指標分頁,請按照下列步驟操作:

  1. 登入 Google Cloud 控制台
  2. 選取 Google Cloud 專案。
  3. 開啟導覽選單。
  4. 在「Analytics」中,按一下「Dataflow」。 系統會列出 Dataflow 工作及其狀態。
  5. 按一下要監控的工作,然後點選「自動調度資源」分頁標籤。

監控自動調度資源指標

Dataflow 服務會自動選擇執行自動調度資源工作所需的工作站執行個體數量。worker 執行個體數量會隨時間依工作需求而變。

您可以在 Dataflow 介面的「Autoscaling」(自動調度資源) 分頁中查看自動調度資源指標。每項指標都會整理成下列圖表:

自動調度資源動作列會顯示目前的自動調度資源狀態和 worker 數量。

自動調度資源

「Autoscaling」(自動調度資源) 圖表會顯示目前 worker 數量、目標 worker 數量,以及 worker 數量下限和上限的時間序列圖。

資料圖表,顯示管道中的 worker 數量。

如要查看自動調度資源記錄,請按一下「Show autoscaling logs」(顯示自動調度資源記錄)。

如要查看自動調度資源的變更記錄,請按一下「More history」(更多記錄)。系統會顯示表格,其中包含管道 worker 記錄的相關資訊。記錄包含自動調度資源事件,包括 worker 數量是否達到 worker 數量下限或上限。

這個表格顯示管道的 worker 記錄。

自動調度資源理由 (僅限 Streaming Engine)

「Autoscaling rationale」(自動調度資源依據) 圖表會顯示自動配置器在特定時間範圍內擴充、縮減或未採取任何動作的原因。

顯示自動調度資源理由的資料視覺化圖表。

如要查看特定時間點的理由說明,請將游標懸停在圖表上。

資料圖表,顯示自動調度資源理由的說明。

下表列出調度資源動作和可能的原因。

資源調度動作 理由 說明
不變更資源調度 收集更多資料,以便做出決策 自動配置器沒有足夠的信號,無法擴充或縮減資源。例如,worker 集區狀態最近有所變更,或是待處理工作或使用率指標出現波動。
資源調度未變更,信號穩定 達到非資源相關限制 資源調度會受到限制,例如金鑰平行處理,或設定的 worker 數量下限和上限。
達到排程相關限制 資源調度作業受限於有效自動調度資源排程的 worker 數量下限或上限。
待處理工作量低,且 worker 使用率高 根據目前的流量和設定,管道的自動調度資源功能已收斂至穩定值。不需要變更資源調度。
向上擴充 待處理工作量過多 正在向上擴充,以減少待處理工作。
worker 使用率偏高 擴充資源,達到目標 CPU 使用率。
達到非資源相關限制 工作站數量下限已更新,目前的工作站數量低於設定的下限。
達到排程相關限制 自動調度資源排程已啟用,且目前的 worker 數量低於排程的 worker 數量下限。
縮減 worker 使用率低 縮減資源,以達到目標 CPU 使用率。
達到非資源相關限制 工作站數量上限已更新,目前的工作站數量超過設定的上限。
達到排程相關限制 自動調度資源排程已啟用,目前的工作站數量超過排程的工作站數量上限。

worker CPU 使用率

CPU 使用率是指使用的 CPU 數量除以可用於處理的 CPU 數量。「Mean CPU utilization」(平均 CPU 使用率) 圖表會顯示所有 worker 的平均 CPU 使用率、worker 使用率提示,以及 Dataflow 是否主動將提示做為目標。

這項資料圖表會顯示所有 Dataflow worker 的平均 CPU 使用率。

待處理項目 (僅限 Streaming Engine)

「Maximum backlog」(待處理項目數量上限) 圖表會提供待處理元素的相關資訊。圖表顯示在未傳入任何新資料,且處理量不變的情況下,完成目前待處理工作所需的預估時間 (以秒為單位)。預估待處理時間是根據輸入來源的待處理位元組和處理量計算得出。串流自動調度資源功能會使用這項指標,判斷何時應擴充或縮減資源。

這張圖表的資料僅適用於使用 Streaming Engine 的工作。如果串流工作未使用 Streaming Engine,圖表會是空白。

資料圖表,顯示串流管道中的待處理項目數量上限。

建議

以下是您可能會在管道中觀察到的行為,以及調整自動調度資源的建議:

  • 過度縮小:如果目標 CPU 使用率設得太高,可能會出現以下模式:Dataflow 縮減規模、待處理工作量開始增加,然後 Dataflow 再次擴大規模來補償,而不是收斂至穩定的 worker 數量。如要緩解這個問題,請嘗試設定較低的工作站使用率提示。觀察待處理工作開始增加時的 CPU 使用率,並將使用率提示設為該值。

  • 擴充速度太慢。如果向上調度速度太慢,可能無法及時因應流量高峰,導致延遲時間增加。請嘗試降低 worker 使用率提示,讓 Dataflow 更快擴充。觀察待處理工作開始增加時的 CPU 使用率,並將使用率提示設為該值。請同時監控延遲時間和費用,因為如果佈建更多 worker,較低的提示值可能會增加管道的總費用。

  • 過度提高解析度:如果發現過度向上調度資源,導致費用增加,請考慮提高 worker 使用率提示。監控延遲時間,確保延遲時間維持在情境可接受的範圍內。

詳情請參閱「設定 worker 使用率提示」。測試新的 worker 使用率提示值時,請在每次調整後等待幾分鐘,讓管道穩定下來。

後續步驟