建立及管理延後提醒

本文說明如何建立及管理暫緩通知。延後時間後,Cloud Monitoring 會在特定時間範圍內停止建立事件及發出通知。每個暫緩通知都會指定要套用的資源。

如需概念總覽,請參閱「暫緩通知和事件」。

如要建立及管理暫緩通知,請使用 Google Cloud 控制台或 Cloud Monitoring API。

這項功能僅支援 Google Cloud 專案。 如要進行 App Hub 設定,請選取 App Hub 主專案或啟用應用程式的資料夾管理專案。

事前準備

在儲存快訊政策的 Google Cloud 專案中完成下列步驟:

  1. 確認您具備必要權限:

    如要進一步瞭解 Cloud Monitoring 角色,請參閱「使用 Identity and Access Management 控制存取權」。

  2. 如要使用本文中的 Cloud Monitoring API 範例,請執行下列操作:

    1. 建立環境變數 PROJECT_ID,用來存放專案 ID:Google Cloud

      PROJECT_ID=PROJECT_ID
    2. 驗證 Google Cloud CLI:

      gcloud auth login
    3. 設定預設 Google Cloud 專案:

      gcloud config set project ${PROJECT_ID}
    4. 建立授權權杖:

      ACCESS_TOKEN=`gcloud auth print-access-token`

      您必須定期更新存取權杖。如果原本可用的指令突然回報您未通過驗證,請重新發出這個指令。

建立延後設定

如要避免快訊政策建立事件及傳送通知,請建立延後。如要為暫緩處理的快訊新增以標籤為準的篩選器,暫緩處理的快訊必須套用至單一快訊政策。建立延後設定後,您就無法修改延後設定套用的標籤篩選條件或政策清單。

您可以使用 Google Cloud 控制台、gcloud CLI 或 Cloud Monitoring API 建立暫緩通知。

主控台

在 Google Cloud 控制台中,您可以從開啟的事件或「Alerting」(警告) 頁面建立暫緩通知。如要使用篩選器建立暫緩處理,只能透過事件詳細資料頁面操作。

如要從開啟的事件建立暫緩通知,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的 「Alerting」(警告) 頁面

    前往「Alerting」(快訊)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 在 Google Cloud 控制台的工具列中,選取您的 Google Cloud 專案。如為「App Hub」設定,請選取 App Hub 主機專案或已啟用應用程式的資料夾管理專案。
  3. 在「Alerting」(快訊) 頁面的「Incidents」(事件) 窗格中,找出您的事件並點選「Incident summary」(事件摘要)
  4. 在「事件詳細資料」頁面中,按一下「暫緩」,然後選取暫緩時間長度。
  5. 選用:如要根據標籤新增暫緩處理的篩選器,請前往「標籤」部分,然後選取一或多個標籤。以標籤為準的篩選器可以包含資源和指標標籤。如果快訊政策不是以 PromQL 為基礎,篩選器也可以包含中繼資料標籤。

    一般來說,暫緩處理會套用至快訊政策建立的所有事件。篩選器可讓您對標籤符合篩選器中標籤的事件套用暫緩處理。

  6. 按一下「延後」。延後功能現在適用於建立事件的快訊政策。

如要從「Alerting」(快訊) 頁面建立暫緩通知,請執行下列操作:

  1. 前往 Google Cloud 控制台的 「Alerting」(警告) 頁面

    前往「Alerting」(快訊)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 在 Google Cloud 控制台的工具列中,選取您的 Google Cloud 專案。如為「App Hub」設定,請選取 App Hub 主機專案或已啟用應用程式的資料夾管理專案。
  3. 在「Alerting」(快訊) 頁面中,按一下「Create snooze」(建立暫緩處理)
  4. 輸入延後項目的描述性名稱。這個名稱會顯示在「Alerting」(快訊) 頁面。
  5. 選取「開始時間」。你可以輸入特定時間,也可以在建立貪睡設定時啟動貪睡功能。
  6. 輸入「時間長度」。這個欄位的值會決定暫緩時間長度。
  7. 完成「延後條件」部分。您可以使用「快訊政策」選單,選取要套用暫緩通知的快訊政策。

    最多可將 16 項警報政策新增至暫緩警報。

    延後設定一經建立即無法變更條件。

    完成「延後條件」部分後,「建立延後設定」窗格會列出符合條件的過往事件。

  8. 點選「建立」

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 表示法下載至本機系統。

建立週期性延後設定

如要建立在週期性間隔內發生的暫緩通知,可以編寫指令碼,為快訊政策建立暫緩通知。接著,使用 cronCloud Scheduler 等工作排程器,依所需排程執行指令碼。

列出延後設定

建立暫緩處理項目後,系統會將該項目新增至專案的暫緩處理記錄。這項記錄會顯示過期、有效和即將到來的暫緩通知。你無法從這項記錄中移除項目,也就是無法刪除貪睡提醒。不過,您可以在這個檢視畫面中顯示暫緩通知的詳細資料,並執行編輯或複製暫緩通知等動作。

主控台

如要查看暫緩通知清單,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的 「Alerting」(警告) 頁面

    前往「Alerting」(快訊)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 在 Google Cloud 控制台的工具列中,選取您的 Google Cloud 專案。如為「App Hub」設定,請選取 App Hub 主機專案或已啟用應用程式的資料夾管理專案。
  3. 在「延後」窗格中,按一下「查看所有延後」

    「暫緩」頁面會顯示暫緩清單和時間軸,以圖形方式顯示過去、即將和目前暫緩的項目。

    • 如要編輯、複製、取消或結束貪睡模式,請使用貪睡模式的「更多選項」選單 。可用的選項取決於暫緩狀態。
    • 如要列出所有延後項目,請啟用「顯示過往的延後項目」。根據預設,系統只會列出有效和即將到來的暫緩提醒。
    • 如要變更「時間軸」表格的顯示時間範圍,請使用「時間範圍」選單。根據預設,表格會顯示下一個小時的資料;不過,您可以修改這個欄位,指定過去或未來時間範圍的資料。過期的暫緩通知會保留 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.

編輯延後項目

你可以編輯即將進入貪睡模式的名稱和時間,也可以編輯目前貪睡模式的名稱和結束時間。舉例來說,如果重新排定維護期間,您可能需要編輯延後時間。

您無法編輯過去的延後設定或任何延後設定的條件。不過,如要將過去的暫緩通知排定在未來一段時間內,請複製暫緩通知,然後在選取「建立」前,對副本套用變更。

主控台

如要編輯暫緩通知,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的 「Alerting」(警告) 頁面

    前往「Alerting」(快訊)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 在 Google Cloud 控制台的工具列中,選取您的 Google Cloud 專案。如為「App Hub」設定,請選取 App Hub 主機專案或已啟用應用程式的資料夾管理專案。
  3. 在「延後」窗格中,按一下「查看所有延後」
  4. 在暫緩通知清單中找出要編輯的暫緩通知,然後在「更多選項」選單中選取「編輯暫緩通知」
  5. 完成變更後,請按一下「儲存」

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

結束或取消小睡

如要接收符合有效暫停通知條件的資源通知,請結束暫停通知。舉例來說,如果預定維護作業比預期更快完成,您可能想結束暫緩。

如果不想再延後通知,請取消延後。取消作業會將時間長度設為零,並導致暫緩通知轉移至「過去」狀態。

主控台

如要結束目前暫緩通知的狀態或取消即將暫緩通知的狀態,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的 「Alerting」(警告) 頁面

    前往「Alerting」(快訊)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 在 Google Cloud 控制台的工具列中,選取您的 Google Cloud 專案。如為「App Hub」設定,請選取 App Hub 主機專案或已啟用應用程式的資料夾管理專案。
  3. 在「延後」窗格中,按一下「查看所有延後」
  4. 在暫緩清單中找出要結束或取消的暫緩,然後執行下列其中一項操作:

    • 如要結束使用中的暫緩通知功能,請在「更多選項」選單 中選取「立即結束」
    • 如要取消即將到來的貪睡鬧鐘,請在「更多選項」選單中選取「取消貪睡」。

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

複製延後設定

如要將現有的暫緩處理設定做為其他暫緩處理設定的範本,請複製該設定。複製暫緩通知時,系統會開啟暫緩通知編輯器,並將所有欄位 (開始時間除外) 設為原始暫緩通知中的值。點選「建立」前,您可以修改所有欄位。

如要使用控制台複製暫緩處理,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的 「Alerting」(警告) 頁面

    前往「Alerting」(快訊)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 在 Google Cloud 控制台的工具列中,選取您的 Google Cloud 專案。如為「App Hub」設定,請選取 App Hub 主機專案或已啟用應用程式的資料夾管理專案。
  3. 在「延後」窗格中,按一下「查看所有延後」
  4. 在暫緩清單中找出要編輯的暫緩,然後在「更多選項」選單 中選取「複製暫緩」
  5. 對副本套用修改內容,然後按一下「建立」

後續步驟