事件是指符合警告政策條件時的記錄。一般來說,當 Cloud Monitoring 收到符合快訊政策條件的記錄時,就會開啟事件並傳送通知。不過,在下列情況下,系統不會建立事件:
- 政策已暫緩或停用。
- 快訊政策或事件數量超過現有的快訊限制。
- 另一個記錄項目導致開放事件符合相同條件。在這種情況下,監控服務只會針對同一事件傳送另一則通知。
針對每個事件,Monitoring 會建立「事件詳細資料」頁面,方便您管理事件,並提供事件資訊,協助您排解失敗問題。舉例來說,「事件詳細資料」頁面會顯示符合記錄型快訊政策查詢條件的記錄項目清單。您也可以找到相關事件的連結。
本文說明如何找出事件。本文也會說明如何使用「事件詳細資料」頁面,管理記錄檔快訊政策的事件,這類政策會評估儲存在 Cloud Logging 中個別記錄檔的記錄項目資料。
這項功能僅支援 Google Cloud 專案。 如果是 App Hub 設定,請選取 App Hub 主專案或管理專案。
事前準備
如要取得查看及管理事件所需的權限,請要求管理員在專案中授予您下列 IAM 角色:
-
使用 Google Cloud CLI 或 Cloud Monitoring API 查看事件:
「Monitoring Alert Viewer」 (
roles/monitoring.alertViewer) -
使用 Google Cloud 控制台查看事件:
-
監控 Cloud Console 事件檢視器 (
roles/monitoring.cloudConsoleIncidentViewer) -
Stackdriver 帳戶檢視者 (
roles/stackdriver.accounts.viewer)
-
監控 Cloud Console 事件檢視器 (
-
使用 Google Cloud 控制台管理事件:
-
Monitoring Cloud 控制台事件編輯者 (
roles/monitoring.cloudConsoleIncidentEditor) -
Stackdriver 帳戶檢視者 (
roles/stackdriver.accounts.viewer)
-
Monitoring Cloud 控制台事件編輯者 (
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
如要進一步瞭解 Cloud Monitoring 角色,請參閱「使用 Identity and Access Management 控制存取權」。
查看事件
如要查看專案中的事件,請使用 Google Cloud 控制台、gcloud CLI (公開預先發布版) 或 Monitoring API (公開預先發布版)。
Google Cloud 控制台
如要列出 Google Cloud 專案中的事件,請按照下列步驟操作:
-
前往 Google Cloud 控制台的 notifications「Alerting」(警告) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
在 Google Cloud 控制台的工具列中,選取 Google Cloud 專案。如要進行 App Hub 設定,請選取 App Hub 主專案或管理專案。
「警告」頁面會顯示警告政策、暫緩和事件的相關資訊:
- 「摘要」窗格會列出未結事件的數量。
- 「事件」表格會顯示最近的未結事件。如要在表格中列出最新事件 (包括已結案的事件),請按一下「顯示已結案的事件」。
如要查看特定事件的詳細資料,請在清單中選取該事件。
「Incident details」(事件詳細資料) 頁面隨即開啟。如要進一步瞭解「事件詳細資料」頁面,請參閱本文的「調查事件」一節。
尋找較舊的事件
「警告」頁面上的「事件」表格會顯示最近開啟的事件。如要查看較舊的事件,請執行下列其中一項操作:
如要逐頁瀏覽「事件」表格中的項目,請按一下「較新」arrow_back_ios或「較舊」arrow_forward_ios。
如要開啟可列出及篩選事件的頁面,請按一下「查看所有事件」。「事件」頁面隨即開啟。請在該頁面執行下列操作:
篩選事件
如要限制表格顯示的事件,請新增篩選器。如果新增多個篩選器,表格只會顯示符合所有篩選器的事件。
如要篩選事件表格,請按照下列步驟操作:
在「事件」頁面上,按一下「篩選表格」filter_list,然後選取篩選器屬性。篩選條件屬性包括:
- 事件狀態
- 快訊政策名稱
- 事件開啟或關閉的時間
從次要選單選取值,或在篩選條件列中輸入值。
「事件」表格隨即會列出篩選條件。
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-id",
"state": "OPEN",
"open_time": "2025-06-11T09:53:46Z",
"resource": {
"type": "k8s_cluster",
"labels": {
"location": "us-central1",
"cluster_name": "example_cluster",
"project_id": "my-project"
}
},
"log": {
"extracted_labels": {
"title": "my title"
}
},
"policy": {
"name": "projects/my-project/alertPolicies/POLICY_1",
"displayName": "test-policy"
},
"summaryText": "[ALERT] test-policy for Kubernetes Cluster with {cluster_name=example_cluster, location=us-central1, project_id=my-project}"
}
列出事件
您可以使用 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-id",
"state": "OPEN",
"open_time": "2025-06-11T09:53:46Z",
"resource": {
"type": "k8s_cluster",
"labels": {
"location": "us-central1",
"cluster_name": "example_cluster",
"project_id": "my-project"
}
},
"log": {
"extracted_labels": {
"title": "my title"
}
},
"policy": {
"name": "projects/my-project/alertPolicies/POLICY_1",
"displayName": "test-policy"
},
"summaryText": "[ALERT] test-policy for Kubernetes Cluster with {cluster_name=example_cluster, location=us-central1, project_id=my-project}"
}
]
}
--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-id",
"state": "OPEN",
"open_time": "2025-06-11T09:53:46Z",
"resource": {
"type": "k8s_cluster",
"labels": {
"location": "us-central1",
"cluster_name": "example_cluster",
"project_id": "my-project"
}
},
"log": {
"extracted_labels": {
"title": "my title"
}
},
"policy": {
"name": "projects/my-project/alertPolicies/POLICY_1",
"displayName": "test-policy"
},
"summaryText": "[ALERT] test-policy for Kubernetes Cluster with {cluster_name=example_cluster, location=us-central1, project_id=my-project}"
}
列出事件
如要列出專案中的事件,並使用 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-id",
"state": "OPEN",
"open_time": "2025-06-11T09:53:46Z",
"resource": {
"type": "k8s_cluster",
"labels": {
"location": "us-central1",
"cluster_name": "example_cluster",
"project_id": "my-project"
}
},
"log": {
"extracted_labels": {
"title": "my title"
}
},
"policy": {
"name": "projects/my-project/alertPolicies/POLICY_1",
"displayName": "test-policy"
},
"summaryText": "[ALERT] test-policy for Kubernetes Cluster with {cluster_name=example_cluster, location=us-central1, project_id=my-project}"
}
]
}
--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\")"
$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 中查看「記錄」面板,請按一下「探索資料」query_stats。
查看補充資訊
「標籤」部分會顯示導致事件的記錄項目中,受監控資源的標籤和值。這項資訊有助於找出導致事件的特定受監控資源。詳情請參閱「使用標籤註解事件」。
「說明文件」部分會顯示您建立快訊政策時提供的通知說明文件範本。這類資訊可能包括警報政策監控的內容說明,以及緩解措施的提示。詳情請參閱「使用使用者定義的註解標註通知」。
如果沒有為快訊政策設定說明文件,則「說明文件」窗格會顯示「未設定任何說明文件」。
探索相關事件
為協助您找出應用程式的根本問題,您可以探索與其他快訊政策條件相關的事件。
「相關事件」部分會顯示符合下列任一條件的事件清單:- 當符合相同警告政策的條件時,系統就會建立事件。
- 事件與「事件詳細資料」頁面顯示的事件共用標籤。
管理事件
事件會處於下列其中一種狀態:
error 開啟: 符合記錄檔快訊政策的條件,且事件仍處於開啟狀態。如果再次符合相同條件,且事件已開啟,系統就不會開啟新事件。
warning 已確認: 事件處於開啟狀態,且已手動標示為已確認。 通常這個狀態表示事件正在調查中。
check_circle 已結案: 您已手動結案,或系統在自動結案期限到期後自動結案。
確認事件
建議您在開始調查事件原因時,將事件標示為已確認。
如要將事件標示為已確認,請按照下列步驟操作:
- 在「快訊」頁面的「事件」表格中,按一下「查看所有事件」。
在「事件」頁面中,找到要確認的事件,然後執行下列其中一項操作:
- 按一下「更多選項」more_vert,然後選取「確認」。
- 開啟事件的詳細資料頁面,然後按一下「確認事件」。
暫緩執行快訊政策
如要避免 Monitoring 在特定時間範圍內建立事件及傳送通知,請延後相關的警告政策。 延後快訊政策時,與該政策相關的事件會保持開啟狀態,但不會再觸發通知。系統會根據快訊政策的自動關閉期限關閉事件。
如要為目前查看的事件建立暫緩處理,請按照下列步驟操作:
在「Incident details」(事件詳細資料) 頁面中,按一下「Snooze Policy」(暫緩政策)。
選取貪睡時間長度。選取延後時間長度後,延後設定會立即生效。
您也可以在「事件」頁面中延後警告政策,方法是找出要延後的事件,按一下「更多選項」more_vert,然後選取「延後」。 發生中斷時,您可以暫緩快訊政策,以免在疑難排解過程中收到更多通知。
關閉事件
您可以讓 Monitoring 為您關閉事件,也可以自行關閉事件。
當快訊政策的自動關閉時間到期時,監控功能會自動關閉事件。預設的自動關閉期限為 7 天。自動關閉期限最短為 30 分鐘。
自動關閉期限是指事件關閉前,必須經過一段時間,且事件原因未重複發生。因此,如果事件開啟後再次發生原因,事件可能會在自動關閉時間過後仍處於開啟狀態。
如要關閉事件,請按照下列步驟操作:
- 在「快訊」頁面的「事件」表格中,按一下「查看所有事件」。
在「事件」頁面中,找到要結案的事件,然後執行下列其中一項操作:
- 按一下「查看更多」more_vert,然後選取「關閉事件」
- 開啟該事件的「Incident details」(事件詳細資料) 頁面,然後按一下「Close incident」(關閉事件)。
如果看到 Unable to close incident 訊息,請稍待幾分鐘後再試一次。造成新事件的條件仍處於有效狀態,因此警報系統會將事件視為有效,您無法立即關閉。
資料保留與限制
如要瞭解事件的限制和保留期限,請參閱「快訊限制」。
後續步驟
- 如要使用 Monitoring API 或指令列來建立及管理快訊政策,請參閱「由 API 管理快訊政策」。