本文說明如何使用 Cloud Monitoring 觀察記錄資料的趨勢,並在指定條件發生時通知您。為將記錄資料提供給 Cloud Monitoring,Logging 支援下列功能:
您可以從記錄項目產生自訂指標。這類指標稱為記錄指標。您也可以建立以指標為基礎的警告政策,在記錄指標符合條件時收到通知。詳情請參閱「使用記錄指標圖表呈現記錄項目資料」。
您可以使用警告政策,近乎即時地監控記錄項目中是否出現訊息。這類警告政策稱為「記錄檔警告政策」。詳情請參閱「監控個別記錄項目中的訊息」。
您可以在 Observability Analytics 中編寫 SQL 查詢,並建立警告政策來監控查詢結果。這類警告政策稱為「SQL 警告政策」。詳情請參閱「監控 SQL 查詢結果」。
SQL 警告政策目前為公開預先發布版。
本文件其餘部分會說明這三種警告政策之間的差異,並提供授權、費用和限制的相關資訊。
使用記錄指標,以視覺化方式呈現記錄項目資料
如要監控記錄資料中一段時間內的週期性活動,請使用記錄指標。記錄指標會根據記錄資料產生數值資料,適合用於下列情況:
- 計算記錄資料中訊息 (例如警告或錯誤) 的出現次數,並在出現次數超過門檻時收到通知。
- 觀察資料趨勢 (例如記錄資料中的延遲時間值),並在值發生無法接受的變化時收到通知。
- 建立圖表,顯示擷取的數值資料。
記錄指標會根據記錄資料產生數值資料,因此您可以在警告政策中使用這些指標,並在圖表中顯示。如要瞭解如何為記錄指標建立警告政策和圖表,請參閱「設定記錄指標的通知」。
Cloud Monitoring 提供一組預先定義的記錄指標,您也可以自行定義。如要查看系統定義的記錄指標清單,請點選下列 add_circle 按鈕:
使用者定義的記錄指標
您可以建立記錄指標,從記錄資料中擷取數值資料。使用者定義的記錄指標會根據納入和排除的記錄項目計算值。
根據預設,使用者定義的記錄指標會從 Google Cloud 專案中記錄檔路由器收到的所有記錄項目收集資料,但您也可以定義記錄指標,從轉送至特定記錄檔 bucket 的記錄項目收集資料。
- 如要瞭解如何定義及使用專案層級記錄指標,請參閱「使用記錄指標」。
- 如要瞭解如何定義及使用 bucket 層級記錄指標,請參閱「記錄檔 bucket 的記錄指標」。
如果您自行定義記錄指標,可能會產生費用。如要進一步瞭解指標擷取的相關費用,請參閱「Google Cloud Observability 定價」。
監控郵件的個別記錄項目
如要在記錄項目中出現特定訊息時收到通知,請使用記錄式警告政策。記錄式警告政策可用於擷取記錄項目中的安全性相關事件,例如:
- 您希望在稽核記錄中出現事件時收到通知,例如真人使用者存取服務帳戶的安全金鑰。
- 您的應用程式會將部署訊息寫入記錄,而您希望在記錄部署變更時收到通知。
記錄式警告政策適用於預期罕見且重要的事件。您不想知道趨勢或模式,而是想知道發生了什麼事。
記錄警告政策是在專案中定義,並在符合下列條件時掃描記錄項目:
- 已啟用計費功能。
- 記錄項目源自專案。
記錄項目來源專案中的接收器,或記錄項目轉送目標專案中的接收器,會將記錄項目轉送至記錄檔 bucket。
舉例來說,假設記錄項目源自專案
A。如果專案A中的記錄檔接收器將記錄項目轉送至記錄檔 bucket,則專案A中定義的記錄檔警告政策會掃描該記錄項目。第二個例子:假設記錄項目源自專案
X,且專案X中的記錄檔接收器將記錄項目轉送至專案Y。如果專案Y中的接收器將記錄項目轉送至記錄檔 bucket,則專案X和專案Y中定義的記錄檔警告政策會掃描記錄項目。
您無法使用記錄指標警告政策,監控源自資料夾、帳單帳戶或組織的記錄項目,也無法監控未儲存在記錄檔 bucket 中的記錄項目。如果您建立匯總接收器,這些接收器可能會攔截記錄項目,並防止記錄項目由記錄項目來源專案中的接收器轉送。
如要瞭解如何建立記錄警告政策,請參閱「設定記錄警告政策」。
監控 SQL 查詢結果
您可以設定警告政策,使用 Observability Analytics 對記錄項目資料執行 SQL 查詢。如果想根據記錄警告政策無法評估的模式 (例如記錄項目中的複雜模式或記錄資料匯總) 接收通知,這類警告政策就很有效。詳情請參閱「使用警告政策監控 SQL 查詢結果」。
警告選項比較
本節比較依據記錄指標建立的警告政策、記錄警告政策,以及依據 SQL 建立的警告政策。
摘要表格
下表總結警告技術,並提供其他資訊的連結:
| 以指標為準的警告政策 | 記錄式警告政策 | 以 SQL 為基礎的警告政策 | 更多資訊 |
|---|---|---|---|
| 根據記錄項目衍生的指標 | 根據個別記錄項目中的字串 | 根據記錄項目 SQL 查詢傳回的資料表 | 記錄指標 記錄式警告 SQL 警告 |
| 用於通知你長期趨勢 | 在記錄中出現特定訊息時通知您 | 用於在記錄項目視窗中通知您模式 | 記錄指標 記錄式警告 SQL 警告 |
計算依據:
|
僅比對收錄的記錄項目 | 根據滑動區間中的記錄項目計算 | 可用的記錄項目 以 SQL 為基礎的警告 |
| 對範圍設定專案指標範圍內所有專案的指標執行操作 | 對符合下列條件的記錄項目執行操作:
|
對可透過連結的 BigQuery 資料集存取的記錄檢視表執行操作。這些資料集可以位於任何專案中。 | 指標範圍 連結的 BigQuery 資料集 |
| 指標值在指定期間內符合條件時,系統就會建立快訊 | 每當特定記錄項目符合篩選條件時,系統就會建立快訊 | 當查詢結果資料表符合條件時,系統會建立快訊 | 快訊與通知 |
| 在 Monitoring 中建立及管理 | 在 Logging 中建立; 在 Monitoring 中管理 |
在 Observability Analytics 建立,在 Monitoring 管理 | 建立及管理警告政策 以 SQL 為基礎的警告 |
| 在 Monitoring 中查看 | 在 Monitoring 中查看 | 在 Monitoring 中查看 | 查看警告政策 |
| 可以使用 Monitoring 支援的任何通知管道 | 可以使用 Monitoring 支援的任何通知管道 | 可以使用 Monitoring 支援的任何通知管道 | 通知管道 |
可用的記錄項目
本節說明哪些記錄項目可由記錄指標計算,以及哪些記錄項目可由記錄警告政策監控。
記錄指標可計算的記錄項目
使用者定義的記錄指標是根據 Logging API 為 Google Cloud 專案收到的所有記錄項目計算,無論 Google Cloud 專案是否套用任何包含篩選器或排除篩選器。如果根據使用者定義的記錄指標建立警告政策,該政策會監控所有記錄項目的資料。
系統定義的記錄指標僅根據儲存在Google Cloud 專案記錄檔 bucket 中的記錄項目計算。如果記錄已明確排除,就不會包含在這些指標中。如果根據系統定義的記錄指標建立警告政策,該政策只會監控納入的記錄項目資料。
記錄檔警告政策可監控的記錄項目
記錄警告政策是在專案中定義,並在符合下列條件時掃描記錄項目:
- 已啟用計費功能。
- 記錄項目源自專案。
記錄項目來源專案中的接收器,或記錄項目轉送目標專案中的接收器,會將記錄項目轉送至記錄檔 bucket。
舉例來說,假設記錄項目源自專案
A。如果專案A中的記錄檔接收器將記錄項目轉送至記錄檔 bucket,則專案A中定義的記錄檔警告政策會掃描該記錄項目。第二個例子:假設記錄項目源自專案
X,且專案X中的記錄檔接收器將記錄項目轉送至專案Y。如果專案Y中的接收器將記錄項目轉送至記錄檔 bucket,則專案X和專案Y中定義的記錄檔警告政策會掃描記錄項目。
您無法使用記錄指標警告政策,監控源自資料夾、帳單帳戶或組織的記錄項目,也無法監控未儲存在記錄檔 bucket 中的記錄項目。如果您建立匯總接收器,這些接收器可能會攔截記錄項目,並防止記錄項目來源專案中的接收器轉送該項目。
SQL 警告政策可監控的記錄項目
SQL 警告政策無法存取個別記錄。而是查詢連結的 BigQuery 資料集,然後監控查詢結果。連結的 BigQuery 資料集可讓您存取記錄檢視表中的資料。
每個記錄檢視都位於記錄檔 bucket。將記錄檔 bucket 升級為使用 Observability Analytics 後,請為該記錄檔 bucket 建立連結的 BigQuery 資料集。
如要進一步瞭解以 SQL 為基礎的警告政策,請參閱「使用警告政策監控 SQL 查詢結果」。
監控多項專案的指標
您可以設定指標範圍,監控多項專案的指標。指標範圍會列出監控的所有專案和帳戶。範圍設定專案會託管指標範圍。範圍設定專案會儲存您為指標範圍建立的警告政策和其他設定。指標範圍的限定範圍專案,是透過 Google Cloud 控制台專案挑選器選取的專案。
以記錄指標為基礎的警告政策,與以其他指標為基礎的警告政策一樣,適用於範圍專案指標範圍內的所有專案。
指標範圍與依據記錄項目建立的警告政策無關,例如記錄指標和 SQL 政策。
如要進一步瞭解指標範圍 (包括多專案指標範圍) 和範圍限定專案,請參閱下列內容:
快訊與通知
當符合警告政策的條件時,Monitoring 會開啟警告,並傳送通知至警告政策的通知管道。如要查看快訊詳細資料,請按一下通知訊息中的「View alert」(查看快訊),或直接前往 Monitoring 的「Alerts」(快訊) 頁面。
以指標為準的警告政策
以記錄指標為基礎的警告政策,會像 Monitoring 中所有其他以指標為基礎的警告政策一樣,建立警告和通知,詳情請參閱「警告行為」。如要進一步瞭解如何管理以指標為準警告政策的警告,請參閱「以指標為準警告政策的警告」。
記錄檔警告政策的警告
本節內容僅適用於記錄檔警告政策。這些政策會監控個別記錄項目。不適用於監控指標資料 (包括記錄指標) 或 SQL 查詢結果的警告政策。
Cloud Logging 將記錄項目寫入記錄檔 bucket 時,每個記錄檔警告政策都會掃描記錄項目。如果記錄項目符合警告政策的篩選器,Cloud Logging 會擷取標籤,並將資料轉送至 Cloud Monitoring。
收到 Cloud Logging 的資料後,Cloud Monitoring 會使用下列規則,判斷要採取的動作:
如果警告政策沒有未解決的警告,Monitoring 會開啟新的警告並傳送通知。
如果擷取的標籤可用,快訊的識別資訊會包含這些標籤。
如果已關閉的警告,其擷取的標籤值與目前記錄項目擷取的標籤值相符,則 Monitoring 會重新開啟已關閉的警告,或開啟新的警告。Monitoring 會根據已關閉的警告是否已清除,決定要採取的動作,這可能需要最多三分鐘。
如果某個未解決的警告,其標籤值與目前記錄項目擷取的標籤值相符,系統會傳送其他通知或不執行任何動作。系統行為取決於警告政策是否超過警告或通知限制。
每項記錄警告政策都適用下列限制:
每項記錄警告政策每天最多可發出 20 則警告。
達到上限時,通知會包含類似以下的陳述式:「已達每日快訊上限 (20 則)。這項政策的快訊會在 24 小時內恢復。
每日上限會在隨機時間重設。使用者無法設定這個重設間隔。
每項記錄型警告政策每分鐘最多可產生 2 個新警告。
記錄警告政策擷取標籤值時,這項限制可能會導致您無法收到預期的通知。舉例來說,假設記錄警告政策擷取了一個標籤,該標籤有五個可能的值。在任何一分鐘的時間間隔內,系統最多可以開啟 2 個警告。
待處理快訊重複通知的間隔時間下限為 5 分鐘。您可以在建立或編輯警告政策時設定這個時間間隔。
如果警告原因未重複發生,警告會在自動關閉時間長度指定的時間範圍過後自動關閉。預設的自動關閉時間長度為 7 天。如果事件重複發生,快訊開啟的時間可能會超過自動關閉時間。
如要進一步瞭解如何管理記錄型警告政策的警告,請參閱「管理記錄型警告政策的警告」。
SQL 警告政策的警告
如果是 SQL 警告政策,Cloud Monitoring 會在 SQL 查詢結果首次符合政策指定的條件時,建立警告。每項警告政策只能有一個待處理警告。警告開啟期間,如果再次符合條件,Monitoring 不會建立其他警告或傳送額外通知。Monitoring 會在七天後關閉 SQL 警告,除非您設定較短的警告關閉期限,或自行關閉警告。
如要進一步瞭解如何管理 SQL 警告政策的警告,請參閱「管理 SQL 警告政策的警告」。
建立及管理警告政策
您可以在 Cloud Monitoring 中,根據記錄指標建立、修改及刪除警告政策,就像任何其他以指標為基礎的警告政策一樣。詳情請參閱「管理政策」。
您可以使用 Logs Explorer 或 Cloud Monitoring API,建立記錄式警告政策。您可以在 Monitoring 中或使用 Cloud Monitoring API,修改及刪除記錄警告政策。詳情請參閱「管理記錄警告政策」。
您可以使用 Observability Analytics 或 Cloud Monitoring API,建立 SQL 警告政策。您可以在 Monitoring 中或使用 Cloud Monitoring API,修改及刪除 SQL 警告政策。詳情請參閱「使用警告政策監控 SQL 查詢結果」。
查看警告政策
Monitoring 的「Policies」(政策) 頁面會列出 Google Cloud 專案中的所有警告政策。這份清單包含使用記錄指標和記錄警告政策的政策。
-
前往 Google Cloud 控制台的 notifications「Alerting」(警告) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
- 選取「查看所有政策」。
記錄警告政策會顯示在清單中,「Type」(類型) 欄中的值為 Logs。根據指標 (包括記錄指標) 建立的警告政策會顯示在清單中,「Type」(類型) 欄中的值為 Metrics。SQL 警告政策會顯示在清單中,「Types」(類型) 欄的值為 SQL。以下螢幕截圖顯示政策清單的摘錄:
通知管道
您可以將任何類型警告政策的通知,傳送至 Monitoring 支援的任何通知管道。您必須先設定這些管道,才能在警告政策中使用。
詳情請參閱「管理通知管道」。
授權規定
如要使用記錄指標或記錄警告政策,必須取得 Cloud Logging 和 Cloud Monitoring 的授權。
如要瞭解使用者定義的記錄指標,請參閱「記錄指標的權限」。
如要瞭解記錄警告政策,請參閱「記錄警告政策的權限」。
如要瞭解 SQL 警告政策,請參閱「SQL 警告政策的權限」。
限制
本節列出記錄指標和警告政策的限制。警告政策的限制取決於政策監控的資料類型。
記錄指標限制
使用者定義的記錄指標數量和結構有限制。如要進一步瞭解這些限制,請參閱「記錄指標限制」。
警告政策限制
下表的前兩欄列出類別和限制值。第三欄列出限制適用的政策類型:
- 指標:適用於監控指標資料 (包括記錄指標) 的警告政策。
- LBA:適用於監控記錄項目的警告政策。這類政策稱為記錄檔警告政策。
- SQL:適用於監控 SQL 查詢結果的警告政策。
- 全部:適用於所有警告政策。
| 類別 | 值 | 政策類型 |
|---|---|---|
| 每個指標範圍 的警告政策 (指標和記錄檔總和)1 | 2,000 | 公制,LBA |
| 每項指標警告政策的條件數量 | 6 | 指標 |
| 每項以 SQL 為基礎的警告政策的條件 (公開預先發布版) |
1 | SQL |
SQL 警告政策 的查詢執行時間上限(公開預先發布版) |
5 分鐘 | SQL |
| 指標缺失條件評估的最長時間範圍 2 |
1 天 | 指標 |
| 指標門檻條件評估的最長時間範圍 2 |
25 小時 | 指標 |
| PromQL 條件評估的時間範圍上限 |
2 年 | 指標 |
| 指標門檻條件中使用的篩選器長度上限 |
2,048 個萬國碼 (Unicode) 字元 | 指標 |
| 預測條件監控的時間序列數量上限 |
64 | 指標 |
| 最短預測期間 | 1 小時 (3,600 秒) | 指標 |
| 最長預測期間 | 2.5 天 (216,000 秒) | 指標 |
| 每項警告政策的通知管道 | 16 | 全部 |
| 每項記錄警告政策 的新警告數量上限 |
每天 20 則快訊 | LBA |
| 通知數量上限3 每項記錄式警告政策 |
每天 20 則通知 | LBA |
| 每項記錄檔警告政策的新警告最高頻率 |
每分鐘 2 則新快訊 | LBA |
| 未解決警告的通知間隔下限4 每項記錄警告政策 |
5 分鐘 | LBA |
| 每個專案可同時觸發的警告政策數量上限 |
80,000 | 全部 |
| 每項警告政策可同時開啟的警告數量上限 |
1,000 | 全部 |
| 警告在沒有新資料的情況下, 自動關閉前的時間長度 |
7 天 | 指標、SQL |
| 警告持續時間上限 (如果未手動關閉) | 7 天 | LBA |
| 保留已關閉的警告 | 13 個月 | 不適用 |
| 保留未解決的警告 | 無限期 | 不適用 |
| 每個指標範圍 的通知管道 | 4,000 | 不適用 |
| 每次延後的警告政策數量上限 | 16 | 全部 |
| 保留延後設定 | 13 個月 | 不適用 |
2 條件評估的時間範圍上限,是對齊週期和時間長度視窗值的總和。舉例來說,如果對齊週期設為 15 小時,時間長度視窗設為 15 小時,則需要 30 小時的資料才能評估條件。
3如果通知間隔時間已過,且記錄項目與警告標籤相符,Monitoring 就會針對未解決的警告產生通知。如果 Monitoring 產生通知時,記錄型警告政策處於延後狀態,系統會捨棄通知,不會傳送至政策的通知管道。否則,Monitoring 會將通知傳送至警告政策的通知管道。Monitoring 產生的所有通知,都會計入警告政策每天 20 則通知的上限。
4如果記錄警告政策的查詢會擷取標籤,則擷取標籤值的每種組合都代表各自的警告時間軸。 因此,你可能會在 5 分鐘內收到多則通知。
定價
如要瞭解 Cloud Logging 定價,請參閱「Google Cloud Observability 定價」頁面。