Cloud Monitoring 提供強大的記錄和診斷功能。Dataflow 與 Monitoring 整合後,您就能從 Monitoring 資訊主頁存取 Dataflow 工作指標,例如工作狀態、元素計數、系統延遲 (適用於串流工作) 和使用者計數器。您也可以使用監控快訊,在發生各種狀況時收到通知,例如串流系統延遲時間過長或工作失敗。
事前準備
請按照 Java 教學課程、Python 教學課程或 Go 教學課程,設定 Dataflow 專案。然後建構並執行管道。
如要在 Metrics Explorer 中查看記錄,工作人員服務帳戶必須具備 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指標在時間範圍內的變化量,如下列 Prometheus 查詢語言 (PromQL) 範例所示:sum by (ptransform, metric_name) ( delta({ "__name__"="dataflow.googleapis.com/job/user_counter", "monitored_resource"="dataflow_job", "job_id"="[JobID]" }[${__interval}]) )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」:
在導覽窗格中,選取「Metrics Explorer」。
在「選取指標」窗格中,於篩選器中輸入
Dataflow Job。從顯示的清單中,選取要觀察其中一項工作的指標。
執行 Dataflow 工作時,您可能也想監控來源和接收器的指標。舉例來說,您可能想監控 BigQuery Storage API 指標。詳情請參閱「建立資訊主頁、圖表和快訊」和 BigQuery 資料移轉服務的完整指標清單。
建立快訊政策和資訊主頁
Monitoring 可存取 Dataflow 相關指標。建立資訊主頁,繪製指標的時間序列圖表,並建立警告政策,在指標達到指定值時通知您。
如果是串流工作,您也可以使用即用型快訊,在工作啟動時自動啟用預先設定的快訊政策。
建立資源群組
如要輕鬆設定快訊及建構資訊主頁,請建立包含多個 Apache Beam 管道的資源群組。
在 Google Cloud 控制台中選取「Monitoring」:
在導覽窗格中,選取「群組」。
按一下 [建立群組]。
輸入群組的名稱。
新增篩選條件,定義群組中包含的 Dataflow 資源。 舉例來說,篩選條件可能是管道名稱的前置字串。

建立群組後,您就能查看該群組中資源的相關基本指標。
為 Dataflow 指標建立快訊政策
您可以透過 Monitoring 建立快訊,並在指標超過指定門檻時接收通知。舉例來說,當串流管道的系統延遲時間超過預先定義的值時,您就會收到通知。
在 Google Cloud 控制台中選取「Monitoring」:
在導覽窗格中,選取「Alerting」(快訊)。
點選「建立政策」。
在「建立新的警告政策」頁面中,定義警告觸發條件和通知管道。
舉例來說,如要針對 Apache Beam 管道群組設定系統延遲的快訊,請完成下列步驟:WindowedWordCount- 按一下「Select a metric」(選取指標)。
- 在「選取指標」欄位中,輸入
Dataflow Job。 - 在「指標類別」部分,選取「工作」。
- 在「指標」部分,選取「系統延遲」。
每次觸發快訊時,系統都會建立事件和對應的事件。如果您在快訊中指定通知機制 (例如電子郵件或簡訊),也會收到通知。
建立自訂監控資訊主頁
您可以運用最相關的 Dataflow 圖表,建立監控資訊主頁。如要在資訊主頁中新增圖表,請按照下列步驟操作:
在 Google Cloud 控制台中選取「Monitoring」:
在導覽窗格中,選取「Dashboards」(資訊主頁)。
按一下「Create dashboard」(建立資訊主頁)。
按一下「新增小工具」。
在「新增小工具」視窗中,選取「資料」的「指標」。
在「選取指標」窗格中,為「指標」輸入
Dataflow Job。選取指標類別和指標。
您可以視情況新增任意數量的圖表到資訊主頁。
接收 Monitoring 代理程式傳送的 worker VM 指標
您可以使用 Monitoring 監控 Persistent Disk、CPU、網路和處理程序指標。執行管道時,請從 Dataflow worker VM 執行個體啟用監控代理程式。請參閱可用的監控代理程式指標清單。
如要啟用 Monitoring 代理程式,請在執行管道時使用 --experiments=enable_stackdriver_agent_metrics 選項。工作人員服務帳戶必須具備 roles/monitoring.metricWriter 角色。
如要在不停止管道的情況下停用 Monitoring 代理程式,請啟動替代工作來更新管道,但不要使用 --experiments=enable_stackdriver_agent_metrics 參數。
儲存空間與保留
系統會將已完成或取消的 Dataflow 工作資訊儲存 30 天。
作業記錄檔會儲存在_Default 記錄檔 bucket 中。記錄 API 服務名稱為 dataflow.googleapis.com。如要進一步瞭解 Cloud Logging 中使用的 Google Cloud 受監控資源類型和服務,請參閱「受監控資源和服務」。
如要瞭解記錄檔項目在 Logging 中的保留時間,請參閱「配額與限制:記錄檔保留期限」一文中的保留資訊。
如要瞭解如何查看作業記錄,請參閱「監控及查看管道記錄」。
後續步驟
如要進一步瞭解,請考慮探索下列資源: