事件是指符合警告政策條件的記錄。如果警告政策包含多個條件,警告政策會指定符合一個條件是否足以建立事件。通常,當符合條件時,Cloud Monitoring 會開啟事件並傳送通知。不過,在下列情況下,系統不會建立事件:
- 政策已暫緩或停用。
- 快訊政策或事件數量超過現有的快訊限制。
針對每個事件,Monitoring 會建立「事件詳細資料」頁面,方便您管理事件,並提供事件資訊,協助您排解失敗問題。舉例來說,「事件詳細資料」頁面會顯示事件時間軸,以及顯示所監控指標資料的圖表。您也可以找到相關事件和記錄項目的連結。
本文說明如何找出事件。本文也說明如何使用「事件詳細資料」頁面,管理指標型警告政策的事件,這類政策會評估 Cloud Monitoring 儲存的時間序列資料。
這項功能僅支援 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,然後選取篩選器屬性。篩選條件屬性包括:
- 事件狀態
- 快訊政策名稱
- 事件開啟或關閉的時間
- 指標類型
- 資源類型
從次要選單選取值,或在篩選條件列中輸入值。
舉例來說,如果您選取「指標類型」並輸入
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"
}
]
}
--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」(事件詳細資料) 頁面包含的資訊有助於找出事件原因。
探索指標資料
如要分析事件發生前後的指標狀態,請使用「快訊指標」圖表。這張圖表會顯示時間軸,以及導致警報政策條件成立的時間序列。
您可以調整時間軸的範圍,找出與事件相關的指標資料趨勢和模式:
如要切換顯示符合條件的時間序列,以及條件評估的所有時間序列,請按一下「顯示所有時間序列」toggle_off。
如要變更圖表顯示的時間範圍,可以使用工具列中的時間範圍選取器,或使用指標醒目顯示圖表中的時間範圍。
您也可以在 Metrics Explorer 中查看指標資料,進一步分析。如要這麼做,請前往「快訊指標」圖表,然後按一下「探索資料」query_stats。 根據預設,指標探索工具會匯總及篩選指標資料,讓指標圖表與「快訊指標」時間軸上顯示的時間序列一致。
探索記錄項目
「事件詳細資料」頁面的「記錄」窗格會顯示與指標受監控資源的資源類型和標籤相符的記錄項目。您可以分析這些記錄項目,找出可能有助於排解事件問題的其他資訊。
- 如要在記錄檔探索工具中查看記錄項目,請按一下「在記錄檔探索工具中查看」,然後選取範圍界定專案。記錄檔探索工具提供其他工具來分析記錄檔項目資料,例如相關記錄檔項目的建立時間軸。
- 如要查看及編輯用於篩選 Metrics Explorer 中記錄項目的查詢,請按一下「探索資料」query_stats。
查看應用程式資訊
如要查看與 App Hub 應用程式相關聯的快訊政策,請前往「與應用程式相關聯」部分。這個部分中的一個項目會列出應用程式 ID,並提供資訊主頁的連結,顯示應用程式相關資訊。第二個項目會列出工作負載或服務,並連結至資訊主頁。
查看補充資訊
「標籤」部分會顯示導致事件的受監控資源和指標的時間序列標籤與值,以及在警報政策中定義的使用者標籤。這項資訊有助於找出導致事件的特定受監控資源。詳情請參閱「使用標籤為事件加上註解」。
「說明文件」部分會顯示您建立快訊政策時提供的通知說明文件範本。這類資訊可能包括警報政策監控的內容說明,以及緩解措施的提示。詳情請參閱「使用使用者定義的註解標註通知」。
如果沒有為快訊政策設定說明文件,則「說明文件」窗格會顯示「未設定任何說明文件」。
探索相關事件
為協助您找出應用程式的根本問題,您可以探索與其他快訊政策條件相關的事件。
「相關事件」部分會顯示符合下列任一條件的事件清單:- 當符合相同警告政策的條件時,系統就會建立事件。
- 事件與「事件詳細資料」頁面顯示的事件共用標籤。
管理事件
事件會處於下列其中一種狀態:
error 開啟: 符合快訊政策的條件集,或沒有資料顯示條件不再符合。 如果快訊政策包含多個條件,事件會根據這些條件的合併方式開啟。詳情請參閱「具有多項條件的政策」。
warning 已確認: 事件處於開啟狀態,且已手動標示為已確認。 通常這個狀態表示事件正在調查中。
check_circle 已結案: 系統發現條件不再符合、你已結案, 或 7 天內未觀察到條件持續符合。
舉例來說,如果您建立的快訊政策會在錯誤計數大於 0 時通知您,請確保該政策在沒有任何錯誤時,會產生 0 個錯誤的計數。如果警報政策在無錯誤狀態下傳回空值或空白,則沒有信號可指出錯誤何時停止。如有需要,您可以使用 PromQL 指定預設值,在沒有測量值時使用。
確認事件
建議您在開始調查事件原因時,將事件標示為已確認。
如要將事件標示為已確認,請按照下列步驟操作:
- 在「快訊」頁面的「事件」表格中,按一下「查看所有事件」。
在「事件」頁面中,找到要確認的事件,然後執行下列其中一項操作:
- 按一下「更多選項」more_vert,然後選取「確認」。
- 開啟事件的詳細資料頁面,然後按一下「確認事件」。
如果警報政策設定為重複傳送通知,確認事件後通知不會停止。如要停止播放,請執行下列任一操作:
- 為快訊政策建立暫緩通知。
- 停用快訊政策。
暫緩執行快訊政策
如要避免 Monitoring 在特定時間範圍內建立事件及傳送通知,請延後相關的快訊政策。 暫緩警告政策時,Monitoring 也會關閉與該政策相關的所有事件。
如要為目前查看的事件建立暫緩處理,請按照下列步驟操作:
在「Incident details」(事件詳細資料) 頁面中,按一下「Snooze Policy」(暫緩政策)。
選取貪睡時間長度。選取延後時間長度後,延後設定會立即生效。
您也可以在「事件」頁面中延後警告政策,方法是找出要延後的事件,按一下「更多選項」more_vert,然後選取「延後」。 發生中斷時,您可以暫緩快訊政策,以免在疑難排解過程中收到更多通知。
關閉事件
您可以讓 Monitoring 為您關閉事件,也可以在觀察結果停止傳送後關閉事件。如果您關閉事件,但隨後收到資料顯示符合條件,系統就會建立新事件。關閉事件時,系統不會關閉因相同情況而開啟的其他事件。如果延後快訊政策,系統會在延後開始時關閉未解決的事件。
發生下列任一情況時,監控系統就會自動關閉事件:
指標門檻條件:
- 系統會收到觀察結果,指出未違反門檻。
沒有收到任何觀察結果,且系統已設定在停止收到觀察結果時關閉事件,而基礎資源的狀態為不明或未停用。
在警告政策的自動關閉時間內,系統未收到任何觀察結果,且條件未設定為在停止收到觀察結果時自動關閉事件。如要設定自動關閉時間長度,可以使用 Google Cloud 控制台或 Monitoring API。預設的自動關閉時間為七天。自動關閉期限最短為 30 分鐘。
缺少指標條件:
- 發生觀察事件。
- 快訊政策的自動關閉時間到期後,如果 24 小時內沒有收到任何觀測資料,如要設定自動關閉時間長度,可以使用 Google Cloud 控制台或 Monitoring API。預設的自動關閉時間為七天。
預測條件:
- 系統會產生預測結果,預測時間序列在預測期間內不會違反門檻。
10 分鐘內未收到任何觀測結果、條件已設定為在停止收到觀測結果時關閉事件,且基礎資源的狀態為不明或未停用。
在警告政策的自動關閉時間內,系統未收到任何觀察結果,且條件未設定為在停止收到觀察結果時自動關閉事件。
舉例來說,如果 HTTP 回應延遲時間連續 10 分鐘超過 2 秒,快訊政策就會產生事件。如果下次測量 HTTP 回應延遲時間時,延遲時間等於或低於兩秒,事件就會關閉。同樣地,如果七天內完全沒有收到任何資料,事件就會關閉。
如要關閉事件,請按照下列步驟操作:
- 在「快訊」頁面的「事件」表格中,按一下「查看所有事件」。
在「事件」頁面中,找到要結案的事件,然後執行下列其中一項操作:
- 按一下「查看更多」more_vert,然後選取「關閉事件」
- 開啟該事件的「Incident details」(事件詳細資料) 頁面,然後按一下「Close incident」(關閉事件)。
如果看到「資料是在最近一次的警報週期內收到,因此無法關閉事件」Unable to close incident with active conditions訊息,表示系統在最近一次的警報週期內收到資料,因此無法關閉事件。
如果看到「Unable to close incident. Please try again in a few minutes.」訊息,表示內部發生錯誤,因此無法結案。
資料保留與限制
如要瞭解事件的限制和保留期限,請參閱「快訊限制」。
後續步驟
- 如要使用 Monitoring API 或指令列來建立及管理快訊政策,請參閱「由 API 管理快訊政策」。
- 如需快訊政策的詳細概念論述,請參閱以指標為基準的警告政策行為。