如果分組記錄項目的 SQL 查詢結果符合 SQL 警告政策的條件,Cloud Monitoring 警告可讓您追蹤及調查問題。針對每個快訊,Monitoring 會傳送通知並建立「Alert details」(快訊詳細資料) 頁面,協助您排解失敗問題及管理快訊生命週期。
在「Alert details」(快訊詳細資料) 頁面中,您可以查看 SQL 查詢結果摘要和相關快訊的連結。如果政策處於延後或停用狀態,或者警告政策或警告數量超過警告限制,Monitoring 就不會建立警告。
這項功能僅支援 Google Cloud 專案。如要設定 App Hub,請選取 App Hub 主專案或管理專案。
事前準備
如要取得查看及管理警告所需的權限,請要求管理員在專案中授予您下列 IAM 角色:
-
使用 Google Cloud CLI 或 Cloud Monitoring API 查看警告:Monitoring 警告檢視者 (
roles/monitoring.alertViewer) -
使用 Google Cloud 控制台查看快訊:
- Monitoring Cloud 控制台事件檢視者 (
roles/monitoring.cloudConsoleIncidentViewer) - Stackdriver 帳戶檢視者 (
roles/stackdriver.accounts.viewer)
- Monitoring Cloud 控制台事件檢視者 (
-
使用 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 主專案或管理專案。
「Alerting」(警告) 頁面會顯示警告政策、延後和警告的相關資訊:
- 「摘要」窗格會列出待處理警告的數量。
- 「Alerts」(警告) 表格會顯示最近開啟的警告。如要在表格中列出最近的快訊 (包括已關閉的快訊),請按一下「Show closed alerts」(顯示已關閉的快訊)。
如要查看特定快訊的詳細資料,請在清單中選取該快訊。
「快訊詳細資料」頁面隨即開啟。如要進一步瞭解「Alert details」(快訊詳細資料) 頁面,請參閱本文的「調查快訊」一節。
查看舊快訊
「Alerting」(警告) 頁面的「Alerts」(警告) 表格會顯示最近開啟的警告。如要查看較舊的快訊,請執行下列任一操作:
如要翻閱「Alerts」(警告) 表格中的項目,請按一下 arrow_back_ios「Newer」(較新) 或 arrow_forward_ios「Older」(較舊)。
如要開啟可列出及篩選快訊的頁面,請按一下「See all alerts」(查看所有快訊)。「Alerts」(快訊) 頁面隨即開啟。在該頁面中執行下列操作:
篩選警告
如要限制表格顯示的快訊,請新增篩選器。如果新增多個篩選器,表格只會顯示符合所有篩選條件的快訊。
如要篩選警告表格,請按照下列步驟操作:
在「Alerts」(快訊) 頁面上,按一下 filter_list「Filter table」(篩選表格),然後選取篩選器屬性。篩選器屬性包括:
- 警告狀態
- 警告政策名稱
- 開啟或關閉快訊的時間
從次要選單中選取值,或在篩選列中輸入值。
「快訊」表格隨即會列出篩選條件。
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": "sql_alert"
},
"policy": {
"name": "projects/my-project/alertPolicies/POLICY_1",
"displayName": "test-policy"
},
"summaryText": "The row count SQL Condition for \"test-policy\" is above the threshold of 1."
}
列出警告
您可以使用 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": "sql_alert"
},
"policy": {
"name": "projects/my-project/alertPolicies/POLICY_1",
"displayName": "test-policy"
},
"summaryText": "The row count SQL Condition for \"test-policy\" is above the threshold of 1."
}
]
}
--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": "sql_alert"
},
"policy": {
"name": "projects/my-project/alertPolicies/POLICY_1",
"displayName": "test-policy"
},
"summaryText": "The row count SQL Condition for \"test-policy\" is above the threshold of 1."
}
列出警告
如要列出專案中的快訊,並使用 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": "sql_alert"
},
"policy": {
"name": "projects/my-project/alertPolicies/POLICY_1",
"displayName": "test-policy"
},
"summaryText": "The row count SQL Condition for \"test-policy\" is above the threshold of 1."
}
]
}
--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
調查警告
「快訊詳細資料」頁面包含的資訊,可能有助於您找出快訊原因。
瞭解查詢結果
「Query information」(查詢資訊) 窗格會顯示警告政策的查詢是在 BigQuery 隨選運算單元或預留項目上執行。這個窗格也會根據過去七天內執行的查詢,顯示預估每日掃描的位元組數和使用的運算單元時間。
「SQL query results」(SQL 查詢結果) 窗格會列出每次 Observability Analytics 根據警告政策條件執行 SQL 查詢時,產生的查詢結果摘要。根據預設,系統會篩選清單,只顯示符合警告政策條件的查詢。
- 如要查看 Observability Analytics 執行查詢的特定時間,以及查詢和查詢結果資料表,請按一下「Query run time」(查詢執行時間) 欄中的值。
- 如要切換顯示符合警告政策條件的查詢結果,以及 Observability Analytics 依警告政策執行的所有查詢,請按一下「僅顯示符合警告觸發條件的查詢」。
查看補充資訊
「Documentation」(說明文件) 專區會顯示您在建立警告政策時,為通知提供的說明文件範本。這項資訊可能包括警告政策監控內容的說明,以及緩解措施提示。詳情請參閱「使用使用者定義的文件為通知加上註解」。
如果您未設定警告政策的說明文件,則「Documentation」(說明文件) 窗格會顯示「No documentation is configured」(未設定任何說明文件)。
探索相關快訊
如要找出應用程式中的潛在問題,可以查看與其他警告政策條件相關的警告。
「Related alerts」(相關警告) 專區會列出符合警告政策條件時建立的其他警告。管理快訊
快訊會處於下列其中一種狀態:
error 開啟:符合 SQL 警告政策的條件,且警告仍處於開啟狀態。如果再次符合相同條件,且已有開啟的警告,則不會開啟新的警告。
warning 已確認:警告處於開啟狀態,且已手動標示為「已確認」。這個狀態通常表示快訊正在調查中。
check_circle 已關閉:您已手動關閉警告,或警告在自動關閉期限過後自動關閉。
確認警告
建議您在開始調查快訊原因時,將快訊標示為已確認。
如要將警告標示為已確認,請按照下列步驟操作:
- 在「Alerting」(快訊) 頁面的「Alerts」(快訊) 表格中,按一下「See all alerts」(查看所有快訊)。
在「Alerts」(警告) 頁面中,找出要確認的警告,然後執行下列任一操作:
- 按一下 more_vert「More options」(更多選項),然後選取「Acknowledge」(確認)。
- 開啟快訊的詳細資料頁面,然後按一下「Acknowledge alert」(確認快訊)。
延後警告政策
如要防止 Monitoring 在特定時間範圍內建立快訊及傳送通知,請延後相關警告政策。延後警告政策時,與該政策相關的警告仍會保持開啟狀態,但不會再發出通知。警告會根據警告政策的自動關閉時間長度關閉。
如要為正在查看的警告建立延後通知,請按照下列步驟操作:
在「Alert details」(快訊詳細資料) 頁面中,按一下「Snooze Policy」(延後政策)。
選取延後時間長度。選取延後時間長度後,延後設定會立即生效。
您也可以在「Alerts」(警告) 頁面中延後警告政策,方法是找出要延後的警告,按一下 more_vert「More options」(更多選項),然後選取「Snooze」(延後)。您可以在服務中斷期間延後警告政策,避免在疑難排解過程中收到更多通知。
關閉警告
您可以讓 Monitoring 關閉警告,也可以自行關閉。
警告政策的自動關閉時間到期時,Monitoring 會自動關閉警告。預設的自動關閉時間長度為 7 天。自動關閉時間長度下限為 30 分鐘。
自動關閉時間長度是指在警告關閉之前,必須經過的時間,且警告原因不會重複。因此,如果警告處於開啟狀態,且原因再次發生,警告的開啟時間可能會超過自動關閉時間。
如要關閉警告,請按照下列步驟操作:
- 在「Alerting」(快訊) 頁面的「Alerts」(快訊) 表格中,按一下「See all alerts」(查看所有快訊)。
在「Alerts」(快訊) 頁面中,找出要關閉的快訊,然後執行下列任一操作:
- 按一下「more_vert 查看更多」,然後選取「關閉快訊」
- 開啟該警告的「Alert details」(警告詳細資料) 頁面,然後按一下「Close alert」(關閉警告)。
如果看到 Unable to close alert 訊息,請過幾分鐘後再試。您無法立即關閉新的警告,因為警告系統仍認為導致警告的條件處於有效狀態。
資料保留和限制
如要瞭解警告限制和保留期限,請參閱「警告限制」。
後續步驟
- 如要使用 Monitoring API 或透過指令列建立及管理警告政策,請參閱「透過 API 管理警告政策」。