Cloud Monitoring 提供強大的記錄和診斷功能,Dataflow 與 Monitoring 整合後,您就能透過 Monitoring 資訊主頁存取 Dataflow 工作指標,例如工作狀態、元素數量、系統延遲 (適用於串流工作) 和使用者計數器。您也可以使用監控快訊取得各種狀況的通知,例如串流系統延遲過久或工作失敗。
事前準備
請按照 Java 教學課程、Python 教學課程或 Go 教學課程,設定 Dataflow 專案。然後,建構及執行管道。
如要在指標探索器中查看記錄,工作人員服務帳戶必須具備 roles/monitoring.metricWriter
角色。
自訂指標
您在 Apache Beam 管道中定義的任何指標,都會由 Dataflow 向 Monitoring 報告為自訂指標。Apache Beam 有三種管道指標:Counter
、Distribution
和 Gauge
。
- Dataflow 會將報告
Counter
和指標Distribution
傳送至 Monitoring。 Distribution
會以四個子指標的形式回報,並加上_MAX
、_MIN
、_MEAN
和_COUNT
後置字元。- Dataflow 不支援從
Distribution
指標建立直方圖。 - Dataflow 大約每 30 秒會向 Monitoring 報告新增的更新。
- 為避免衝突,所有 Dataflow 自訂指標都會匯出為
double
資料類型。 為簡化作業,所有 Dataflow 自訂指標都會匯出為
GAUGE
指標種類。您可以監控GAUGE
指標在時間範圍內的變化量,如下列 Monitoring Query Language 範例所示:fetch dataflow_job | metric 'dataflow.googleapis.com/job/user_counter' | filter (metric.job_id == '[JobID]') | delta 1m | group_by 1m, [value_user_counter_mean: mean(value.user_counter)] | every 1m | group_by [metric.ptransform, metric.metric_name], [value_user_counter_mean_aggregate: aggregate(value_user_counter_mean)]
Dataflow 自訂指標會以
dataflow.googleapis.com/job/user_counter
形式顯示在 Monitoring 中,並附上metric_name: metric-name
和ptransform: ptransform-name
標籤。為了達到向下相容的目的,Dataflow 也會將自訂指標回報給 Monitoring,並命名為
custom.googleapis.com/dataflow/metric-name
。Dataflow 自訂指標受 Monitoring 的基數限制。
每個專案最多只能有 100 個 Dataflow 自訂指標。這些指標會以
custom.googleapis.com/dataflow/metric-name
形式發布。
向 Monitoring 回報自訂指標時,會根據 Cloud Monitoring 定價計費。
使用 Metrics Explorer
使用 Monitoring 探索 Dataflow 指標。 請按照本節中的步驟操作,查看針對各個 Apache Beam 管道提供的標準指標。如要進一步瞭解如何使用 Metrics Explorer,請參閱「使用 Metrics Explorer 建立圖表」一文。
在 Google Cloud 控制台中選取「Monitoring」:
在導覽窗格中,選取「指標探索器」。
在「選取指標」窗格中,於篩選器中輸入
Dataflow Job
。從顯示清單中,選取要用來查看工作的指標。
執行 Dataflow 工作時,您可能也想監控來源和接收器的指標。舉例來說,您可能想監控 BigQuery Storage API 指標。詳情請參閱「建立資訊主頁、圖表和快訊」一文,以及 BigQuery 資料移轉服務的完整指標清單。
建立快訊政策和資訊主頁
Monitoring 可存取 Dataflow 相關指標。建立資訊主頁,繪製指標的時間序列圖表,並建立快訊政策,在指標達到指定值時通知您。
建立資源群組
如要輕鬆設定快訊及建構資訊主頁,請建立包含多個 Apache Beam 管道的資源群組。
在 Google Cloud 控制台中選取「Monitoring」:
在導覽窗格中,選取「群組」。
按一下 [建立群組]。
輸入群組的名稱。
新增可定義群組中所含 Dataflow 資源的篩選條件。舉例來說,篩選條件可能是管道名稱的前置字串。
建立群組後,您將能夠查看與該群組資源相關的基本指標。
為 Dataflow 指標建立快訊政策
您可以透過 Monitoring 建立快訊,並在指標超過指定門檻時收到通知。舉例來說,當串流管道的系統延遲增幅超過預先定義值時,您就會收到通知。
在 Google Cloud 控制台中選取「Monitoring」:
在導覽窗格中,選取「快訊」。
按一下「建立政策」。
在「Create new alerting policy」頁面中,定義快訊觸發條件和通知管道。
舉例來說,如要針對 Apache Beam 管道群組WindowedWordCount
設定系統延遲的快訊,請完成下列步驟:- 按一下「Select a metric」(選取指標)。
- 在「選取指標」欄位中,輸入
Dataflow Job
。 - 在「指標類別」部分,選取「作業」。
- 在「指標」部分,選取「系統延遲」。
每次觸發快訊時,系統都會建立事件和對應的事件。如果您在快訊中指定通知機制 (例如電子郵件或簡訊),您也會收到通知。
建構自訂監控資訊主頁
您可以使用關聯性最高的 Dataflow 相關圖表來建構 Monitoring 資訊主頁。如要在資訊主頁中新增圖表,請按照下列步驟操作:
在 Google Cloud 控制台中選取「Monitoring」:
在導覽窗格中,選取「Dashboards」(資訊主頁)。
按一下「Create dashboard」(建立資訊主頁)。
按一下「新增小工具」。
在「新增小工具」視窗中,選取「資料」的「指標」。
在「選取指標」窗格中,於「指標」輸入
Dataflow Job
。選取指標類別和指標。
您可以視情況新增任意數量的圖表到資訊主頁。
接收來自 Monitoring 代理程式的工作站 VM 指標
您可以使用 Monitoring 監控永久磁碟、CPU、網路和處理程序指標。執行管道時,請從 Dataflow 工作站 VM 執行個體啟用 Monitoring 代理程式。請參閱可用的 Monitoring 代理程式指標清單。
如要啟用 Monitoring 代理程式,請在執行管道時使用 --experiments=enable_stackdriver_agent_metrics
選項。工作站服務帳戶必須具備 roles/monitoring.metricWriter
角色。
如要停用 Monitoring 代理程式而不停止管道,請在不指定 --experiments=enable_stackdriver_agent_metrics
參數的情況下,啟動替換工作來更新管道。
儲存空間與保留
系統會將已完成或取消的 Dataflow 工作資訊儲存 30 天。
作業記錄會儲存在 _Default
記錄檔值區中。記錄 API 服務名稱為 dataflow.googleapis.com
。如要進一步瞭解 Cloud Logging 中使用的受監控資源類型和服務,請參閱「受監控資源和服務」。 Google Cloud
如要進一步瞭解 Logging 保留記錄項目的時間長度,請參閱配額與限制:記錄保留期限中的保留說明。
如要瞭解如何查看作業記錄,請參閱「監控及查看管道記錄」。
後續步驟
如要進一步瞭解,請考慮探索下列資源: