以指標為準的快訊政策事件

事件是指符合警告政策條件的記錄。如果警告政策包含多個條件,警告政策會指定符合一個條件是否足以建立事件。通常,當符合條件時,Cloud Monitoring 會開啟事件並傳送通知。不過,在下列情況下,系統不會建立事件:

  • 政策已暫緩或停用。
  • 快訊政策或事件數量超過現有的快訊限制

針對每個事件,Monitoring 會建立「事件詳細資料」頁面,方便您管理事件,並提供事件資訊,協助您排解失敗問題。舉例來說,「事件詳細資料」頁面會顯示事件時間軸,以及顯示所監控指標資料的圖表。您也可以找到相關事件和記錄項目的連結。

本文說明如何找出事件。本文也說明如何使用「事件詳細資料」頁面,管理指標型警告政策的事件,這類政策會評估 Cloud Monitoring 儲存的時間序列資料。

這項功能僅支援 Google Cloud 專案。 如果是 App Hub 設定,請選取 App Hub 主專案或管理專案。

事前準備

如要取得查看及管理事件所需的權限,請要求管理員在專案中授予您下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

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

查看事件

如要查看專案中的事件,請使用 Google Cloud 控制台、gcloud CLI (公開預先發布版) 或 Monitoring API (公開預先發布版)。

Google Cloud 控制台

如要列出 Google Cloud 專案中的事件,請按照下列步驟操作:

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

    前往「Alerting」(快訊)

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

  2. 在 Google Cloud 控制台的工具列中,選取 Google Cloud 專案。如要進行 App Hub 設定,請選取 App Hub 主專案或管理專案。

    「警告」頁面會顯示警告政策、暫緩和事件的相關資訊:

    • 「摘要」窗格會列出未結事件的數量。
    • 「事件」表格會顯示最近的未結事件。如要在表格中列出最新事件 (包括已結案的事件),請按一下「顯示已結案的事件」
  3. 如要查看特定事件的詳細資料,請在清單中選取該事件。

    「Incident details」(事件詳細資料) 頁面隨即開啟。如要進一步瞭解「事件詳細資料」頁面,請參閱本文的「調查事件」一節。

尋找較舊的事件

「警告」頁面上的「事件」表格會顯示最近開啟的事件。如要查看較舊的事件,請執行下列其中一項操作:

  • 如要逐頁瀏覽「事件」表格中的項目,請按一下「較新」或「較舊」

  • 如要開啟可列出及篩選事件的頁面,請按一下「查看所有事件」。「事件」頁面隨即開啟。請在該頁面執行下列操作:

    • 顯示所有事件,包括已結案的事件。如要顯示所有事件,請按一下「顯示已結案的事件」
    • 篩選事件。如要瞭解如何新增篩選器,請參閱「篩選事件」一文。
    • 確認或關閉事件,或是暫緩快訊政策。 如要存取這些選項,請按一下事件列中的「更多選項」,然後從選單中選取所需選項。詳情請參閱「管理事件」。

篩選事件

如要限制表格顯示的事件,請新增篩選器。如果新增多個篩選器,表格只會顯示符合所有篩選器的事件。

如要篩選事件表格,請按照下列步驟操作:

  1. 在「事件」頁面上,按一下「篩選表格」,然後選取篩選器屬性。篩選條件屬性包括:

    • 事件狀態
    • 快訊政策名稱
    • 事件開啟或關閉的時間
    • 指標類型
    • 資源類型
  2. 從次要選單選取值,或在篩選條件列中輸入值。

    舉例來說,如果您選取「指標類型」並輸入 usage_time,則次要選單中可能只會顯示下列選項:

    agent.googleapis.com/cpu/usage_time
    compute.googleapis.com/guest/container/cpu/usage_time
    container.googleapis.com/container/cpu/usage_time
    

    「事件」表格隨即會列出篩選條件。

gcloud

您可以使用 gcloud 取得事件和列出事件。

取得事件

使用下方的任何指令資料之前,請先替換以下項目:

  • ALERT_NAME:快訊的資源名稱。例如:projects/my-project/alerts/my-alert-id

執行 gcloud alpha monitoring alerts describe 指令:

Linux、macOS 或 Cloud Shell

gcloud alpha monitoring alerts describe ALERT_NAME

Windows (PowerShell)

gcloud alpha monitoring alerts describe ALERT_NAME

Windows (cmd.exe)

gcloud alpha monitoring alerts describe ALERT_NAME
這項指令會傳回包含快訊詳細資料的回應,例如快訊狀態、附加的標籤和來源快訊政策。 請注意,這項功能在預先發布期間,回應中的標籤可能會有所變更。回覆內容類似以下範例:
{
  "name": "projects/my-project/alerts/my-alert-id1",
  "state": "OPEN",
  "open_time": "2025-06-11T09:53:46Z",
  "close_time": "2025-06-13T10:11:36Z",
  "resource": {
    "type": "gce_instance",
    "labels": {
      "zone": "us-west1",
      "instance_id": "123456789",
      "project_id": "my-project"
    }
  },
  "metric": {
    "labels": {
      "instance_name": "my-instance1"
    },
    "type": "compute.googleapis.com/instance/cpu/usage_time"
  },
  "policy": {
    "name": "projects/my-project/alertPolicies/POLICY_1",
    "displayName": "my-policy"
  },
  "summaryText": "[ALERT] VM Instance - CPU usage on my-project my-instance1"
}

列出事件

您可以使用 gcloud CLI 列出專案中的事件,並篩選結果。

使用下方的任何指令資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID。

執行 gcloud alpha monitoring alerts list 指令:

Linux、macOS 或 Cloud Shell

gcloud alpha monitoring alerts list

Windows (PowerShell)

gcloud alpha monitoring alerts list

Windows (cmd.exe)

gcloud alpha monitoring alerts list
這項指令會傳回包含快訊詳細資料的回應,例如快訊狀態、附加的標籤和來源快訊政策。 請注意,這項功能在預先發布期間,回應中的標籤可能會有所變更。回覆內容類似以下範例:
{
  "alerts": [
    {
      "name": "projects/my-project/alerts/my-alert-id1",
      "state": "OPEN",
      "open_time": "2025-06-11T09:53:46Z",
      "close_time": "2025-06-13T10:11:36Z",
      "resource": {
        "type": "gce_instance",
        "labels": {
          "zone": "us-west1",
          "instance_id": "123456789",
          "project_id": "my-project"
        }
      },
      "metric": {
        "labels": {
          "instance_name": "my-instance1"
        },
        "type": "compute.googleapis.com/instance/cpu/usage_time"
      },
      "policy": {
        "name": "projects/my-project/alertPolicies/POLICY_1",
        "displayName": "my-policy"
      },
      "summaryText": "[ALERT] VM Instance - CPU usage on my-project my-instance1"
    }
  ]
}
您也可以使用下列選用標記來篩選、排序或修改輸出內容:
  • --filter:提供篩選器運算式,依時間或標籤篩選快訊。舉例來說,您可以使用 --filter='close_time>="2025-09-10T00:00:00Z"' 依時間篩選,或使用 --filter='resource.labels.key="value"' 依標籤篩選。

  • --sort-by:以半形逗號分隔的欄位清單,做為輸出內容的排序依據。例如 --sort-by=open_time

  • --uri:指令會輸出資源 URI 清單,而非預設輸出內容。

  • --limit:將這個標記設為 2 以上,即可限制傳回的快訊數量。請勿將這個旗標與 --filter 旗標搭配使用。

Monitoring API

您可以使用 Monitoring API 取得事件及列出事件。

取得事件

如要透過 Monitoring API 取得單一事件的詳細資料,請使用 alerts.get 方法。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案的 ID。
  • ALERT_ID:快訊 ID。

HTTP 方法和網址:

GET https://monitoring.googleapis.com/v3/projects/PROJECT_ID/alerts/ALERT_ID

請展開以下其中一個選項,以傳送要求:

這項指令會傳回包含快訊詳細資料的回應,例如快訊狀態、附加的標籤和來源快訊政策。請注意,這項功能在預先發布期間,回應中的標籤可能會有所變更。回覆內容類似以下範例:
{
  "name": "projects/my-project/alerts/my-alert-id1",
  "state": "OPEN",
  "open_time": "2025-06-11T09:53:46Z",
  "close_time": "2025-06-13T10:11:36Z",
  "resource": {
    "type": "gce_instance",
    "labels": {
      "zone": "us-west1",
      "instance_id": "123456789",
      "project_id": "my-project"
    }
  },
  "metric": {
    "labels": {
      "instance_name": "my-instance1"
    },
    "type": "compute.googleapis.com/instance/cpu/usage_time"
  },
  "policy": {
    "name": "projects/my-project/alertPolicies/POLICY_1",
    "displayName": "my-policy"
  },
  "summaryText": "[ALERT] VM Instance - CPU usage on my-project my-instance1"
}

列出事件

如要列出專案中的事件,並使用 Monitoring API 篩選結果,請使用 alerts.list 方法。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案的 ID。

HTTP 方法和網址:

GET https://monitoring.googleapis.com/v3/projects/PROJECT_ID/alerts

請展開以下其中一個選項,以傳送要求:

這項指令會傳回包含快訊詳細資料的回應,例如快訊狀態、附加的標籤和來源快訊政策。請注意,這項功能在預先發布期間,回應中的標籤可能會有所變更。回覆內容類似以下範例:
{
  "alerts": [
    {
      "name": "projects/my-project/alerts/my-alert-id1",
      "state": "OPEN",
      "open_time": "2025-06-11T09:53:46Z",
      "close_time": "2025-06-13T10:11:36Z",
      "resource": {
        "type": "gce_instance",
        "labels": {
          "zone": "us-west1",
          "instance_id": "123456789",
          "project_id": "my-project"
        }
      },
      "metric": {
        "labels": {
          "instance_name": "my-instance1"
        },
        "type": "compute.googleapis.com/instance/cpu/usage_time"
      },
      "policy": {
        "name": "projects/my-project/alertPolicies/POLICY_1",
        "displayName": "my-policy"
      },
      "summaryText": "[ALERT] VM Instance - CPU usage on my-project my-instance1"
    }
  ]
}
Curl 使用者可以新增 --data-urlencode 旗標,然後加入篩選器運算式,依時間或標籤篩選快訊。請參閱以下範例:

列出過去一小時內開啟的快訊:

--data-urlencode "filter=(open_time>=\"`date -u -d "1 hour ago" +"%Y-%m-%dT%H:%M:%SZ"`\")"

列出並篩選過去一天內未解決的快訊:

--data-urlencode "filter=(open_time>=\"`date -u -d "1 DAY ago" +"%Y-%m-%dT%H:%M:%SZ"`\" AND state=open)"

列出並篩選兩個時間範圍內開啟的快訊:

--data-urlencode "filter=(open_time>=\"`date -u -d "2 DAY ago" +"%Y-%m-%dT%H:%M:%SZ"`\" AND open_time<=\"`date -u -d "1 DAY ago" +"%Y-%m-%dT%H:%M:%SZ"`\")"

依使用者標籤列出及篩選快訊。在本例中,請依名稱為 app 且值為 my-gke-app 的使用者標籤進行篩選:

--data-urlencode "filter=(policy.user_labels.app=\"my-gke-app\")"
Powershell 使用者可以參考下列範例,在要求網址中新增時間篩選器:
$baseUrl = "https://monitoring.googleapis.com/v3/projects/my-project/alerts"
$filterValue = (Get-Date).AddHours(-1).ToString("yyyy-MM-ddTHH:mm:ssZ")
$filter = 'open_time >= "' + $filterValue + '"'
$encodedFilter = [System.Uri]::EscapeDataString($filter)
$url = $baseUrl + "?filter=" + $encodedFilter

調查事件

「Incident details」(事件詳細資料) 頁面包含的資訊有助於找出事件原因。

探索指標資料

如要分析事件發生前後的指標狀態,請使用「快訊指標」圖表。這張圖表會顯示時間軸,以及導致警報政策條件成立的時間序列。

您可以調整時間軸的範圍,找出與事件相關的指標資料趨勢和模式:

  • 如要切換顯示符合條件的時間序列,以及條件評估的所有時間序列,請按一下「顯示所有時間序列」

  • 如要變更圖表顯示的時間範圍,可以使用工具列中的時間範圍選取器,或使用指標醒目顯示圖表中的時間範圍。

您也可以在 Metrics Explorer 中查看指標資料,進一步分析。如要這麼做,請前往「快訊指標」圖表,然後按一下「探索資料」。 根據預設,指標探索工具會匯總及篩選指標資料,讓指標圖表與「快訊指標」時間軸上顯示的時間序列一致。

探索記錄項目

「事件詳細資料」頁面的「記錄」窗格會顯示與指標受監控資源的資源類型和標籤相符的記錄項目。您可以分析這些記錄項目,找出可能有助於排解事件問題的其他資訊。

  • 如要在記錄檔探索工具中查看記錄項目,請按一下「在記錄檔探索工具中查看」,然後選取範圍界定專案。記錄檔探索工具提供其他工具來分析記錄檔項目資料,例如相關記錄檔項目的建立時間軸。
  • 如要查看及編輯用於篩選 Metrics Explorer 中記錄項目的查詢,請按一下「探索資料」

查看應用程式資訊

如要查看與 App Hub 應用程式相關聯的快訊政策,請前往「與應用程式相關聯」部分。這個部分中的一個項目會列出應用程式 ID,並提供資訊主頁的連結,顯示應用程式相關資訊。第二個項目會列出工作負載或服務,並連結至資訊主頁。

查看補充資訊

「標籤」部分會顯示導致事件的受監控資源和指標的時間序列標籤與值,以及在警報政策中定義的使用者標籤。這項資訊有助於找出導致事件的特定受監控資源。詳情請參閱「使用標籤為事件加上註解」。

「說明文件」部分會顯示您建立快訊政策時提供的通知說明文件範本。這類資訊可能包括警報政策監控的內容說明,以及緩解措施的提示。詳情請參閱「使用使用者定義的註解標註通知」。

如果沒有為快訊政策設定說明文件,則「說明文件」窗格會顯示「未設定任何說明文件」。

為協助您找出應用程式的根本問題,您可以探索與其他快訊政策條件相關的事件。

「相關事件」部分會顯示符合下列任一條件的事件清單:

  • 當符合相同警告政策的條件時,系統就會建立事件。
  • 事件與「事件詳細資料」頁面顯示的事件共用標籤。

管理事件

事件會處於下列其中一種狀態:

  • 開啟: 符合快訊政策的條件集,或沒有資料顯示條件不再符合。 如果快訊政策包含多個條件,事件會根據這些條件的合併方式開啟。詳情請參閱「具有多項條件的政策」。

  •  已確認: 事件處於開啟狀態,且已手動標示為已確認。 通常這個狀態表示事件正在調查中。

  •  已結案: 系統發現條件不再符合、你已結案, 或 7 天內未觀察到條件持續符合。

設定快訊政策時,請確保穩定狀態會在一切正常時提供信號。這是必要步驟,可確保系統能找出無錯誤狀態,並在事件開啟時關閉事件。如果沒有信號指出錯誤狀況已停止,事件開啟後,快訊政策觸發後會維持開啟狀態 7 天。

舉例來說,如果您建立的快訊政策會在錯誤計數大於 0 時通知您,請確保該政策在沒有任何錯誤時,會產生 0 個錯誤的計數。如果警報政策在無錯誤狀態下傳回空值或空白,則沒有信號可指出錯誤何時停止。如有需要,您可以使用 PromQL 指定預設值,在沒有測量值時使用。

確認事件

建議您在開始調查事件原因時,將事件標示為已確認。

如要將事件標示為已確認,請按照下列步驟操作:

  1. 在「快訊」頁面的「事件」表格中,按一下「查看所有事件」
  2. 在「事件」頁面中,找到要確認的事件,然後執行下列其中一項操作:

    • 按一下「更多選項」,然後選取「確認」
    • 開啟事件的詳細資料頁面,然後按一下「確認事件」

如果警報政策設定為重複傳送通知,確認事件後通知不會停止。如要停止播放,請執行下列任一操作:

  • 為快訊政策建立暫緩通知。
  • 停用快訊政策。

暫緩執行快訊政策

如要避免 Monitoring 在特定時間範圍內建立事件及傳送通知,請延後相關的快訊政策。 暫緩警告政策時,Monitoring 也會關閉與該政策相關的所有事件。

如要為目前查看的事件建立暫緩處理,請按照下列步驟操作:

  1. 在「Incident details」(事件詳細資料) 頁面中,按一下「Snooze Policy」(暫緩政策)

  2. 選取貪睡時間長度。選取延後時間長度後,延後設定會立即生效。

您也可以在「事件」頁面中延後警告政策,方法是找出要延後的事件,按一下「更多選項」,然後選取「延後」。 發生中斷時,您可以暫緩快訊政策,以免在疑難排解過程中收到更多通知。

關閉事件

您可以讓 Monitoring 為您關閉事件,也可以在觀察結果停止傳送後關閉事件。如果您關閉事件,但隨後收到資料顯示符合條件,系統就會建立新事件。關閉事件時,系統不會關閉因相同情況而開啟的其他事件。如果延後快訊政策,系統會在延後開始時關閉未解決的事件。

發生下列任一情況時,監控系統就會自動關閉事件:

  • 指標門檻條件:

    • 系統會收到觀察結果,指出未違反門檻。
    • 沒有收到任何觀察結果,且系統已設定在停止收到觀察結果時關閉事件,而基礎資源的狀態為不明或未停用。

    • 在警告政策的自動關閉時間內,系統未收到任何觀察結果,且條件未設定為在停止收到觀察結果時自動關閉事件。如要設定自動關閉時間長度,可以使用 Google Cloud 控制台或 Monitoring API。預設的自動關閉時間為七天。自動關閉期限最短為 30 分鐘。

  • 缺少指標條件:

    • 發生觀察事件。
    • 快訊政策的自動關閉時間到期後,如果 24 小時內沒有收到任何觀測資料,如要設定自動關閉時間長度,可以使用 Google Cloud 控制台或 Monitoring API。預設的自動關閉時間為七天。
  • 預測條件:

    • 系統會產生預測結果,預測時間序列在預測期間內不會違反門檻。
    • 10 分鐘內未收到任何觀測結果、條件已設定為在停止收到觀測結果時關閉事件,且基礎資源的狀態為不明或未停用。

    • 在警告政策的自動關閉時間內,系統未收到任何觀察結果,且條件未設定為在停止收到觀察結果時自動關閉事件。

舉例來說,如果 HTTP 回應延遲時間連續 10 分鐘超過 2 秒,快訊政策就會產生事件。如果下次測量 HTTP 回應延遲時間時,延遲時間等於或低於兩秒,事件就會關閉。同樣地,如果七天內完全沒有收到任何資料,事件就會關閉。

如要關閉事件,請按照下列步驟操作:

  1. 在「快訊」頁面的「事件」表格中,按一下「查看所有事件」
  2. 在「事件」頁面中,找到要結案的事件,然後執行下列其中一項操作:

    • 按一下「查看更多」,然後選取「關閉事件」
    • 開啟該事件的「Incident details」(事件詳細資料) 頁面,然後按一下「Close incident」(關閉事件)

如果看到「資料是在最近一次的警報週期內收到,因此無法關閉事件」Unable to close incident with active conditions訊息,表示系統在最近一次的警報週期內收到資料,因此無法關閉事件。

如果看到「Unable to close incident. Please try again in a few minutes.」訊息,表示內部發生錯誤,因此無法結案。

資料保留與限制

如要瞭解事件的限制和保留期限,請參閱「快訊限制」。

後續步驟