您可以建立 Monitoring 快訊,在 Dataproc 叢集或工作指標超過指定門檻時收到通知。
建立警告
按一下「+ 建立政策」,開啟「建立快訊政策」頁面。
- 按一下「選取指標」。
- 在「依據資源或指標名稱篩選」輸入方塊中,輸入「dataproc」列出 Dataproc 指標。在 Cloud Dataproc 指標的階層中導覽,選取叢集、工作、批次或工作階段指標。
- 按一下「套用」。
- 按一下「下一步」,開啟「設定快訊觸發條件」窗格。
- 設定觸發快訊的門檻值。
- 按一下「下一步」,開啟「設定通知並完成快訊」窗格。
- 設定通知管道、說明文件和快訊政策名稱。
- 點選「下一步」查看快訊政策。
- 按一下「建立政策」即可建立快訊。
警報範例
本節說明提交至 Dataproc 服務的工作範例快訊,以及以 YARN 應用程式執行的工作快訊。
長時間執行的 Dataproc 工作快訊
Dataproc 會發出 dataproc.googleapis.com/job/state
指標,追蹤工作處於不同狀態的時間長度。這個指標位於 Google Cloud 控制台的 Metrics Explorer 中,屬於 Cloud Dataproc Job (cloud_dataproc_job) 資源。您可以根據這項指標設定快訊,在工作 RUNNING
狀態超過時間門檻時收到通知 (門檻上限為 7 天)。如要為預計執行超過 7 天的工作設定快訊,請參閱「長時間執行的 YARN 應用程式快訊」。
設定工作時間長度快訊
這個範例使用 Prometheus 查詢語言 (PromQL) 建立快訊政策。詳情請參閱「建立以 PromQL 為基礎的快訊政策 (主控台)」。
sum by (job_id, state) ({
"__name__"="dataproc.googleapis.com/job/state",
"monitored_resource"="cloud_dataproc_job",
"state"="RUNNING"
}) != 0
如要設定在工作執行時間超過 30 分鐘時觸發這項快訊,請在「設定觸發條件」分頁中,將「評估間隔」設為 30 分鐘。
您可以篩選 job_id
來修改查詢,將查詢套用至特定工作:
sum by (job_id) ({
"__name__"="dataproc.googleapis.com/job/state",
"monitored_resource"="cloud_dataproc_job",
"state"="RUNNING",
"job_id"="1234567890"
}) != 0
長時間執行的 YARN 應用程式警示
上一個範例顯示的快訊會在 Dataproc 工作執行時間超過指定時長時觸發,但僅適用於透過 Google Cloud 主控台、Google Cloud CLI 或直接呼叫 Dataproc jobs
API 提交至 Dataproc 服務的工作。您也可以使用 OSS 指標設定類似的快訊,監控 YARN 應用程式的執行時間。
首先,請先瞭解一些背景資訊。YARN 會將執行時間指標發布至多個 bucket。根據預設,YARN 會將 60、300 和 1440 分鐘設為 bucket 閾值,並發出 4 個指標:running_0
、running_60
、running_300
和 running_1440
:
running_0
會記錄執行時間介於 0 到 60 分鐘之間的工作數量。running_60
會記錄執行時間介於 60 到 300 分鐘之間的工作數量。running_300
記錄執行時間介於 300 到 1440 分鐘之間的工作數量。running_1440
會記錄執行時間超過 1440 分鐘的工作數量。
舉例來說,如果工作執行時間為 72 分鐘,系統會記錄在 running_60
中,但不會記錄在 running_0
中。
如要修改這些預設值區門檻,請在建立 Dataproc 叢集時,將新值傳遞至yarn:yarn.resourcemanager.metrics.runtime.buckets
叢集屬性。定義自訂區間門檻時,也必須定義指標覆寫。舉例來說,如要指定 30、60 和 90 分鐘的 bucket 門檻,gcloud dataproc clusters create
指令應包含下列旗標:
bucket 門檻:
‑‑properties=yarn:yarn.resourcemanager.metrics.runtime.buckets=30,60,90
指標覆寫:
‑‑metric-overrides=yarn:ResourceManager:QueueMetrics:running_0, yarn:ResourceManager:QueueMetrics:running_30,yarn:ResourceManager:QueueMetrics:running_60, yarn:ResourceManager:QueueMetrics:running_90
gcloud dataproc clusters create test-cluster \ --properties ^#^yarn:yarn.resourcemanager.metrics.runtime.buckets=30,60,90 \ --metric-sources=yarn \ --metric-overrides=yarn:ResourceManager:QueueMetrics:running_0,yarn:ResourceManager:QueueMetrics:running_30,yarn:ResourceManager:QueueMetrics:running_60,yarn:ResourceManager:QueueMetrics:running_90
這些指標會列在 Google Cloud 控制台的 Metrics Explorer 中,位於「VM Instance」(VM 執行個體) (gce_instance) 資源下方。
設定 YARN 應用程式快訊
建立快訊政策,以便在 YARN 指標值區中的應用程式數量超過指定門檻時接收通知。
視需要新增篩選器,針對符合模式的叢集發出快訊。
設定觸發快訊的門檻。
Dataproc 工作失敗快訊
您也可以使用 dataproc.googleapis.com/job/state
指標 (請參閱「長時間執行的 Dataproc 工作快訊」),在 Dataproc 工作失敗時收到快訊。
無法設定工作機會快訊
這個範例使用 Prometheus 查詢語言 (PromQL) 建立快訊政策。詳情請參閱「建立以 PromQL 為基礎的快訊政策 (主控台)」。
警報 PromQL
sum by (job_id, state) ({
"__name__"="dataproc.googleapis.com/job/state",
"monitored_resource"="cloud_dataproc_job",
"state"="ERROR"
}) != 0
快訊觸發條件設定
在下列範例中,只要專案中有任何 Dataproc 工作失敗,就會觸發快訊。
您可以篩選 job_id
來修改查詢,將查詢套用至特定工作:
sum by (job_id) ({
"__name__"="dataproc.googleapis.com/job/state",
"monitored_resource"="cloud_dataproc_job",
"state"="ERROR",
"job_id"="1234567890"
}) != 0
叢集容量偏差快訊
Dataproc 會發出 dataproc.googleapis.com/cluster/capacity_deviation
指標,回報叢集中的預期節點數量與作用中 YARN 節點數量之間的差異。您可以在Google Cloud 控制台的「Metrics Explorer」中,找到「Cloud Dataproc Cluster」資源下的這項指標。您可以根據這項指標建立快訊,在叢集容量偏離預期容量的時間超過指定門檻時收到通知。
下列作業可能會導致 capacity_deviation
指標暫時低估叢集節點。為避免誤判快訊,請設定指標快訊門檻,將下列作業納入考量:
叢集建立和更新:叢集建立或更新作業期間不會發出
capacity_deviation
指標。叢集初始化動作:節點佈建完成後,系統會執行初始化動作。
次要工作站更新:更新作業完成後,系統會非同步新增次要工作站。
設定容量偏差快訊
這個範例使用 Prometheus 查詢語言 (PromQL) 建立快訊政策。詳情請參閱「建立以 PromQL 為基礎的快訊政策 (主控台)」。
{
"__name__"="dataproc.googleapis.com/cluster/capacity_deviation",
"monitored_resource"="cloud_dataproc_cluster"
} != 0
在下一個範例中,如果叢集容量偏差值超過 30 分鐘不為零,就會觸發警報。
查看快訊
當指標門檻條件觸發快訊時,Monitoring 會建立事件和對應的事件。您可以在 Google Cloud 控制台的「Monitoring alerting」(監控快訊) 頁面中查看事件。
如果您在快訊政策中定義了通知機制,例如電子郵件或簡訊通知,則 Monitoring 會傳送事件通知。
後續步驟
- 請參閱「快訊簡介」。