本文說明如何建立及管理暫緩通知。延後時間後,Cloud Monitoring 會在特定時間範圍內停止建立事件及發出通知。每個暫緩通知都會指定要套用的資源。
如需概念總覽,請參閱「暫緩通知和事件」。
如要建立及管理暫緩通知,請使用 Google Cloud 控制台或 Cloud Monitoring API。
這項功能僅支援 Google Cloud 專案。 如要進行 App Hub 設定,請選取 App Hub 主專案或啟用應用程式的資料夾管理專案。
事前準備
在儲存快訊政策的 Google Cloud 專案中完成下列步驟:
確認您具備必要權限:
-
如要取得透過 Google Cloud 控制台查看及編輯暫緩通知所需的權限,請要求管理員授予您專案的監控編輯者 (
roles/monitoring.editor
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
-
如要取得使用 Cloud Monitoring API 查看及編輯暫緩通知所需的權限,請要求管理員授予您專案的Monitoring 暫緩通知編輯者 (
roles/monitoring.snoozeEditor
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
如要進一步瞭解 Cloud Monitoring 角色,請參閱「使用 Identity and Access Management 控制存取權」。
-
如要使用本文中的 Cloud Monitoring API 範例,請執行下列操作:
建立環境變數
PROJECT_ID
,用來存放專案 ID:Google CloudPROJECT_ID=PROJECT_ID
驗證 Google Cloud CLI:
gcloud auth login
設定預設 Google Cloud 專案:
gcloud config set project ${PROJECT_ID}
建立授權權杖:
ACCESS_TOKEN=`gcloud auth print-access-token`
您必須定期更新存取權杖。如果原本可用的指令突然回報您未通過驗證,請重新發出這個指令。
建立延後設定
如要避免快訊政策建立事件及傳送通知,請建立延後。如要為暫緩處理的快訊新增以標籤為準的篩選器,暫緩處理的快訊必須套用至單一快訊政策。建立延後設定後,您就無法修改延後設定套用的標籤篩選條件或政策清單。
您可以使用 Google Cloud 控制台、gcloud CLI 或 Cloud Monitoring API 建立暫緩通知。
主控台
在 Google Cloud 控制台中,您可以從開啟的事件或「Alerting」(警告) 頁面建立暫緩通知。如要使用篩選器建立暫緩處理,只能透過事件詳細資料頁面操作。
如要從開啟的事件建立暫緩通知,請按照下列步驟操作:
-
前往 Google Cloud 控制台的 notifications「Alerting」(警告) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
- 在 Google Cloud 控制台的工具列中,選取您的 Google Cloud 專案。如為「App Hub」設定,請選取 App Hub 主機專案或已啟用應用程式的資料夾管理專案。
- 在「Alerting」(快訊) 頁面的「Incidents」(事件) 窗格中,找出您的事件並點選「Incident summary」(事件摘要)。
- 在「事件詳細資料」頁面中,按一下「暫緩」,然後選取暫緩時間長度。
選用:如要根據標籤新增暫緩處理的篩選器,請前往「標籤」部分,然後選取一或多個標籤。以標籤為準的篩選器可以包含資源和指標標籤。如果快訊政策不是以 PromQL 為基礎,篩選器也可以包含中繼資料標籤。
一般來說,暫緩處理會套用至快訊政策建立的所有事件。篩選器可讓您對標籤符合篩選器中標籤的事件套用暫緩處理。
按一下「延後」。延後功能現在適用於建立事件的快訊政策。
如要從「Alerting」(快訊) 頁面建立暫緩通知,請執行下列操作:
-
前往 Google Cloud 控制台的 notifications「Alerting」(警告) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
- 在 Google Cloud 控制台的工具列中,選取您的 Google Cloud 專案。如為「App Hub」設定,請選取 App Hub 主機專案或已啟用應用程式的資料夾管理專案。
- 在「Alerting」(快訊) 頁面中,按一下「Create snooze」(建立暫緩處理)。
- 輸入延後項目的描述性名稱。這個名稱會顯示在「Alerting」(快訊) 頁面。
- 選取「開始時間」。你可以輸入特定時間,也可以在建立貪睡設定時啟動貪睡功能。
- 輸入「時間長度」。這個欄位的值會決定暫緩時間長度。
完成「延後條件」部分。您可以使用「快訊政策」選單,選取要套用暫緩通知的快訊政策。
最多可將 16 項警報政策新增至暫緩警報。
延後設定一經建立即無法變更條件。
完成「延後條件」部分後,「建立延後設定」窗格會列出符合條件的過往事件。
點選「建立」。
Cloud Monitoring API
如要建立暫緩通知,請對 Snooze
端點發出 POST
要求,叫用 snoozes.create
方法。您必須提供 snooze
物件:
curl -d @my-snooze.json -H "Authorization: Bearer $ACCESS_TOKEN" \ -H 'Content-Type: application/json' \ -X POST https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes
在上述運算式中,PROJECT_ID
是儲存專案 ID 的環境變數。如要進行 App Hub 設定,請選取 App Hub 主專案或啟用應用程式的資料夾管理專案。
這個方法會傳回 snooze
物件。傳回的物件與 my-snooze.json
的內容之間,只有 "name"
欄位不同,該欄位包含 Monitoring 產生的暫緩 ID:
{
"name": "projects/my-project/snoozes/778899",
"criteria": {
"policies": [
"projects/my-project/alertPolicies/001122"
]
},
"interval": {
"startTime": "2022-11-12T19:00:20Z",
"endTime": "2022-11-12T19:05:20Z"
},
"displayName": "Snooze2"
}
gcloud CLI
如要建立暫緩通知,請執行 gcloud monitoring snoozes create
指令:
gcloud monitoring snoozes create --criteria-policies=LIST_OF_POLICIES --display-name=DISPLAY_NAME --start-time=START_TIME --end-time=END_TIME --project=PROJECT_ID --criteria-filter=FILTER
執行上一個指令前,請先取代下列項目:
- LIST_OF_POLICIES:延後適用的政策。 如要指定多個專案,請以半形逗號分隔。
- PROJECT_ID:專案的 ID。如要進行 App Hub 設定,請選取 App Hub 主專案或啟用應用程式的資料夾管理專案。
- DISPLAY_NAME:要在 Google Cloud 控制台中顯示的名稱。
- START_TIME:開始時間。
END_TIME:結束時間。這個值必須比開始時間晚至少一分鐘。
開始和結束時間必須符合 ISO 8601 格式規則。 不過,您可以指定絕對或相對時間。以下範例會指定絕對時間。如要將貪睡時間設為目前時間的 30 分鐘後,請使用
--start-time="+PTM30M"
。FILTER:選用。如果暫緩通知適用於一項快訊政策,則可定義以標籤為準的篩選器。篩選器 (可包含資源、指標和中繼資料標籤) 會將暫緩套用至具有相符標籤的事件。如果快訊政策是以 PromQL 為基礎,篩選器就無法使用中繼資料標籤。詳情請參閱
gcloud monitoring snoozes create
參考頁面。
舉例來說,下列指令會為 ID 為「12345」的快訊政策建立暫緩通知。暫緩時間範圍為 2025 年 3 月 1 日至 2025 年 3 月 7 日。
gcloud monitoring snoozes create --display-name="Maintenance Week" \ --criteria-policies="projects/my-project/alertPolicies/12345" \ --start-time="2025-03-01T03:00:00.0-0500" \ --end-time="2025-03-07T23:59:59.5-0500" \ --project=PROJECT_ID
上一個範例會在 my-project
中建立下列暫緩通知:
{
"name": "projects/my-project/snoozes/778899",
"criteria": {
"policies": [
"projects/my-project/alertPolicies/12345"
]
},
"interval": {
"startTime": "2025-03-01T03:00:00.0-0500",
"endTime": "2025-03-07T23:59:59.5-0500"
},
"displayName": "Maintenance Week"
}
如果成功,這項指令的回應會類似以下內容:
Created snooze [projects/my-project/snoozes/778899]
快訊政策名稱不會顯示在 Google Cloud 控制台中。如要判斷快訊政策的名稱,請採取下列其中一項做法:
- 請執行
gcloud alpha monitoring policies list
指令。這項指令的回應資料包含快訊政策的名稱。 - 查看快訊政策的 JSON 表示法。您可以在「政策詳細資料」頁面中選擇所需選項,將 JSON 表示法下載至本機系統。
建立週期性延後設定
如要建立在週期性間隔內發生的暫緩通知,可以編寫指令碼,為快訊政策建立暫緩通知。接著,使用 cron
或 Cloud Scheduler 等工作排程器,依所需排程執行指令碼。
列出延後設定
建立暫緩處理項目後,系統會將該項目新增至專案的暫緩處理記錄。這項記錄會顯示過期、有效和即將到來的暫緩通知。你無法從這項記錄中移除項目,也就是無法刪除貪睡提醒。不過,您可以在這個檢視畫面中顯示暫緩通知的詳細資料,並執行編輯或複製暫緩通知等動作。
主控台
如要查看暫緩通知清單,請按照下列步驟操作:
-
前往 Google Cloud 控制台的 notifications「Alerting」(警告) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
- 在 Google Cloud 控制台的工具列中,選取您的 Google Cloud 專案。如為「App Hub」設定,請選取 App Hub 主機專案或已啟用應用程式的資料夾管理專案。
在「延後」窗格中,按一下「查看所有延後」。
「暫緩」頁面會顯示暫緩清單和時間軸,以圖形方式顯示過去、即將和目前暫緩的項目。
- 如要編輯、複製、取消或結束貪睡模式,請使用貪睡模式的「更多選項」選單 more_vert。可用的選項取決於暫緩狀態。
- 如要列出所有延後項目,請啟用「顯示過往的延後項目」。根據預設,系統只會列出有效和即將到來的暫緩提醒。
- 如要變更「時間軸」表格的顯示時間範圍,請使用「時間範圍」選單。根據預設,表格會顯示下一個小時的資料;不過,您可以修改這個欄位,指定過去或未來時間範圍的資料。過期的暫緩通知會保留 13 個月。
- 如要查看特定暫緩通知的詳細資料,請按一下「查看詳細資料」。
- 如要查看有效暫緩的摘要,請將指標放在「時間軸」表格中「有效」列的陰影區域。工具提示會顯示摘要資訊。
- 如要查看暫緩處理的圖形表示方式,請展開「時間軸」表格的「有效」列。
Cloud Monitoring API
如要列出屬於 Google Cloud 專案的所有暫緩處理項目,請叫用 snoozes.list
方法:
curl -H "Authorization: Bearer $ACCESS_TOKEN" \ https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes
在上述運算式中,PROJECT_ID
是儲存專案 ID 的環境變數。如要進行 App Hub 設定,請選取 App Hub 主專案或啟用應用程式的資料夾管理專案。
這個方法會傳回 snooze
物件清單。舉例來說,如果專案有一項暫緩處理項目,snoozes.list
指令的回應會類似以下內容:
{
"name": "projects/my-project/snoozes/778899",
"criteria": {
"policies": [
"projects/my-project/alertPolicies/12345"
]
},
"interval": {
"startTime": "2025-03-01T03:00:00.0-0500",
"endTime": "2025-03-07T23:59:59.5-0500"
},
"displayName": "Snooze2"
}
如要取得特定暫緩通知的相關資訊,請叫用 snoozes.get
方法,並指定專案 ID 和暫緩通知 ID。在先前的回應中,暫緩 ID 為 2986663705844383744
:
curl -H "Authorization: Bearer $ACCESS_TOKEN" \ https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes/${SNOOZE_ID}
這個方法會傳回單一 snooze
物件:
{
"name": "projects/my-project/snoozes/778899",
"criteria": {
"policies": [
"projects/my-project/alertPolicies/12345"
]
},
"interval": {
"startTime": "2025-03-01T03:00:00.0-0500",
"endTime": "2025-03-07T23:59:59.5-0500"
},
"displayName": "Snooze2"
}
gcloud CLI
如要列出目前專案中的暫緩通知,請執行 gcloud monitoring snoozes list
指令:
gcloud monitoring snoozes list --project=PROJECT_ID OPTIONAL_FLAGS
執行上一個指令前,請先取代下列項目:
- PROJECT_ID:專案的 ID。如要進行 App Hub 設定,請選取 App Hub 主專案或啟用應用程式的資料夾管理專案。
- OPTIONAL_FLAGS:如要瞭解選用標記,請參閱
gcloud monitoring snoozes list
參考頁面。
這項指令的回應是專案中的暫緩通知名稱清單,格式為 YAML。舉例來說,如果 ID 為 my-project
的Google Cloud 專案只有一個項目,則這項指令的回應會是單一項目:
criteria: policies: - projects/my-project/alertPolicies/12345 - projects/my-project/alertPolicies/23451 displayName: Maintenance Week interval: endTime: '2023-03-08T04:59:59Z' startTime: '2023-03-01T08:00:00Z' name: projects/my-project/snoozes/778899
如要列出特定暫緩通知的詳細資料,請執行 gcloud monitoring snoozes describe
指令:
gcloud monitoring snoozes describe NAME --project=PROJECT_ID
舉例來說,如要顯示名稱為 projects/my-project/snoozes/778899
的暫緩通知詳細資料,請執行下列指令:
gcloud monitoring snoozes describe projects/my-project/snoozes/778899 --project=PROJECT_ID
如果提供給 describe
指令的 NAME 無效,回應就會包含 500
錯誤代碼和下列訊息:
Internal error encountered. Please retry after a few seconds. If internal errors persist, contact support at https://cloud.google.com/support/docs.
編輯延後項目
你可以編輯即將進入貪睡模式的名稱和時間,也可以編輯目前貪睡模式的名稱和結束時間。舉例來說,如果重新排定維護期間,您可能需要編輯延後時間。
您無法編輯過去的延後設定或任何延後設定的條件。不過,如要將過去的暫緩通知排定在未來一段時間內,請複製暫緩通知,然後在選取「建立」前,對副本套用變更。
主控台
如要編輯暫緩通知,請按照下列步驟操作:
Cloud Monitoring API
如要修改現有的暫緩通知,請對 Snooze
端點發出 PATCH
要求,叫用 snoozes.patch
方法。您必須提供修訂後的 snooze
物件,並加入查詢參數,指出修改了哪些欄位。使用 curl 時,查詢參數必須經過網址編碼。
對於即將暫緩顯示的通知,你可以修改名稱和時間範圍。如果是進行中的暫停,你可以修改名稱和結束時間。你無法修改過去的貪睡設定。
如要更新暫緩通知的 displayName
,請建立 JSON 檔案 my-updated-snooze.json
,說明暫緩通知物件並更新顯示名稱。然後執行下列指令:
curl -d @my-updated-snooze.json -H "Authorization: Bearer $ACCESS_TOKEN" \ -H 'Content-Type: application/json' \ -X PATCH https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes/${SNOOZE_ID}?updateMask=displayName
在上述運算式中:
PROJECT_ID
是儲存專案 ID 的環境變數。如要進行 App Hub 設定,請選取 App Hub 主專案或啟用應用程式的資料夾管理專案。SNOOZE_ID
是儲存暫緩通知 ID 的環境變數。
這個方法會傳回 snooze
物件,該物件與檔案 my-updated-snooze.json
的內容相同:
{
"name": "projects/my-project/snoozes/778899",
"criteria": {
"policies": [
"projects/my-project/alertPolicies/12345"
]
},
"interval": {
"startTime": "2025-03-01T03:00:00.0-0500",
"endTime": "2025-03-07T23:59:59.5-0500"
},
"displayName": "Snooze2"
}
gcloud CLI
如要編輯暫緩通知,請執行 gcloud monitoring snoozes update
指令。你可以更新顯示名稱、開始時間和結束時間:
gcloud monitoring snoozes update NAME --project=PROJECT_ID OPTIONAL_FLAGS
執行上一個指令前,請先取代下列項目:
- NAME:延後時間的名稱。
- PROJECT_ID:專案的 ID。如要進行 App Hub 設定,請選取 App Hub 主專案或啟用應用程式的資料夾管理專案。
- OPTIONAL_FLAGS:如要瞭解選用標記,請參閱
gcloud monitoring snoozes update
參考頁面。
舉例來說,如要變更名為 projects/my-project/snoozes/778899
的暫緩通知顯示名稱,請執行下列指令:
gcloud monitoring snoozes update projects/my-project/snoozes/778899 --display-name="Maintenance Week" --project=PROJECT_ID
結束或取消小睡
如要接收符合有效暫停通知條件的資源通知,請結束暫停通知。舉例來說,如果預定維護作業比預期更快完成,您可能想結束暫緩。
如果不想再延後通知,請取消延後。取消作業會將時間長度設為零,並導致暫緩通知轉移至「過去」狀態。
主控台
如要結束目前暫緩通知的狀態或取消即將暫緩通知的狀態,請按照下列步驟操作:
-
前往 Google Cloud 控制台的 notifications「Alerting」(警告) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
- 在 Google Cloud 控制台的工具列中,選取您的 Google Cloud 專案。如為「App Hub」設定,請選取 App Hub 主機專案或已啟用應用程式的資料夾管理專案。
- 在「延後」窗格中,按一下「查看所有延後」。
在暫緩清單中找出要結束或取消的暫緩,然後執行下列其中一項操作:
- 如要結束使用中的暫緩通知功能,請在「更多選項」選單 more_vert 中選取「立即結束」。
- 如要取消即將到來的貪睡鬧鐘,請在「更多選項」more_vert選單中選取「取消貪睡」。
Cloud Monitoring API
如要結束使用中的暫停功能,請編輯暫停設定,並將結束時間設為目前時間。詳情請參閱編輯暫緩通知。
如要取消即將到來的延後設定,請編輯延後設定,並將結束時間設為延後設定的開始時間。開始時間必須設在將來。 詳情請參閱編輯暫緩通知。
gcloud CLI
如要結束目前暫緩通知的狀態或取消即將暫緩通知的設定,請執行 gcloud monitoring snoozes cancel
指令:
gcloud monitoring snoozes cancel NAME --project=PROJECT_ID
執行上一個指令前,請先取代下列項目:
- NAME:延後時間的名稱。
- PROJECT_ID:專案的 ID。如要進行 App Hub 設定,請選取 App Hub 主專案或啟用應用程式的資料夾管理專案。
舉例來說,如要取消名稱為 projects/my-project/snoozes/778899
的暫緩通知,請執行下列指令:
gcloud monitoring snoozes cancel projects/my-project/snoozes/778899 --project=PROJECT_ID
複製延後設定
如要將現有的暫緩處理設定做為其他暫緩處理設定的範本,請複製該設定。複製暫緩通知時,系統會開啟暫緩通知編輯器,並將所有欄位 (開始時間除外) 設為原始暫緩通知中的值。點選「建立」前,您可以修改所有欄位。
如要使用控制台複製暫緩處理,請按照下列步驟操作:
-
前往 Google Cloud 控制台的 notifications「Alerting」(警告) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
- 在 Google Cloud 控制台的工具列中,選取您的 Google Cloud 專案。如為「App Hub」設定,請選取 App Hub 主機專案或已啟用應用程式的資料夾管理專案。
- 在「延後」窗格中,按一下「查看所有延後」。
- 在暫緩清單中找出要編輯的暫緩,然後在「更多選項」選單 more_vert 中選取「複製暫緩」。
- 對副本套用修改內容,然後按一下「建立」。
後續步驟
如要瞭解快訊功能,請參閱快訊總覽。
如要瞭解通知延遲,以及快訊政策參數的選擇如何影響通知傳送時間,請參閱「以指標為基礎的快訊政策行為」。
如要瞭解事件,請參閱下列文件: