Cloud Monitoring 的警告政策會評估指標、記錄或 SQL 查詢結果,偵測應用程式和基礎架構問題。當監控的資料符合指定條件時,Monitoring 會建立警告並傳送通知。
警告的運作方式
Cloud Monitoring 警告程序包含三個部分:
警告政策:說明您希望收到警告的情況,以及您希望收到警告通知的方式。警告政策可以監控 Monitoring 儲存的時間序列資料,或 Cloud Logging 儲存的記錄。當資料符合警告政策條件時,Monitoring 會建立警告並傳送通知。
每個快訊都是一筆記錄,內含監控的資料類型和符合條件的時間。這項資訊可協助您排解導致快訊的問題。
通知管道定義了 Monitoring 建立快訊時,您接收通知的方式。舉例來說,您可以設定警告政策,將電子郵件傳送至
my-support-team@example.com,並將 Slack 訊息張貼至#my-support-team頻道。警告政策可以包含一或多個通知管道。
警告政策可評估三種類型的資料:
時間序列資料 (也稱為指標資料),由 Monitoring 儲存。這類政策稱為「以指標為準」的警告政策。
如要瞭解如何設定以指標為基礎的警告政策,請參閱「Compute Engine 快速入門導覽課程」。
Cloud Logging 儲存的記錄項目資料。評估個別記錄項目的警告政策稱為「記錄檔型」警告政策。記錄式警告政策會在記錄中出現特定訊息時通知您。詳情請參閱「監控記錄」。
在 Observability Analytics 中,針對 Logging 儲存的記錄項目資料執行 SQL 查詢的結果。監控 SQL 查詢結果的警告政策稱為「SQL 警告政策」。詳情請參閱「使用警告政策監控 SQL 查詢結果」。
SQL 警告政策目前為公開預先發布版。
如果應用程式效能未達合理值,警告程序可協助您因應問題。舉例來說,您將網頁應用程式部署至 Compute Engine 虛擬機器 (VM) 執行個體。雖然您預期 HTTP 回應延遲時間會波動,但您希望支援團隊在應用程式長時間出現高延遲時做出回應。您可以建立指標警告政策,監控應用程式的 HTTP 回應延遲時間指標。如果回應延遲時間超過兩秒,且持續至少五分鐘,Monitoring 就會建立快訊,並傳送電子郵件通知給支援團隊。
如何建立警告政策
建立警告政策的方法有很多種。舉例來說,您可以從整合項目或 Google Cloud 控制台中的特定頁面啟用建議的警告,使用預先設定的警告政策。您也可以使用Google Cloud 控制台、Cloud Monitoring API、Google Cloud CLI 和 Terraform 設定新的警告政策。
使用整合功能和建議的警告政策
Monitoring 提供預先建構的套件,可讓您為Google Cloud 服務和第三方整合服務建立警告政策。套件包含建議的警告政策、資訊主頁範例,以及服務的重要指標。這些套件適用於 Google Kubernetes Engine、Compute Engine 和 Cloud SQL 等Google Cloud 服務,以及 MongoDB、Kafka 和 Elasticsearch 等常見的第三方整合服務。
安裝套件時,您可以啟用套件建議的警告政策。啟用建議的警告政策時,您需要設定通知管道,並視需要修改其他值。設定完成後,警告政策會立即開始監控目標,不需使用者進一步輸入。
部署新服務並想針對重要指標設定警告時,建議使用警告政策。舉例來說,Cloud SQL 整合套件隨附建議的警告政策,適用於失敗的執行個體和緩慢的交易:
詳情請參閱下列文件:
建立新的警告政策
您可以根據警告需求,建立警告政策來監控不同類型的資料。以下各節列出可透過警告政策監控的不同資料類型。
監控時間序列資料
| 條件類型 | 說明 | 範例 |
|---|---|---|
| 指標門檻條件 | 如果指標值在特定重新測試時間範圍內高於或低於門檻,即符合指標門檻條件。 詳情請參閱「建立指標門檻警告政策」和「使用 API 建立警告政策」。 |
您希望在 10 分鐘內,連續五次運作時間檢查的回應延遲時間達到 500 毫秒以上時,警告政策會傳送通知。 |
| 指標缺失條件 | 如果受監控的時間序列在特定重新測試時間範圍內沒有資料,即符合指標缺失條件。最長為 24 小時。 詳情請參閱「建立指標缺少的警告政策」和「使用 API 建立警告政策」。 |
您希望制定警告政策,在資源五分鐘內未回應任何 HTTP 要求時,向支援團隊發出警告。 |
| Prometheus 查詢語言 (PromQL) 條件 | PromQL 是函式查詢語言,用於即時評估時間序列資料。PromQL 查詢可以使用任何有效運算式,例如指標組合、比率,以及根據指標設定的動態門檻。 詳情請參閱「Cloud Monitoring 中的 PromQL」和「PromQL 警告總覽」。 |
您想使用公開存放區中的 PromQL 警告運算式、想根據多個指標 (例如比率) 建立警告政策,或想建立可處理超過 25 小時資料的警告政策。 |
| 預測指標值條件 | 如果警告政策預測在即將到來的預測時間範圍內會違反門檻,則符合預測指標值條件。預測時間範圍可介於 1 小時到 7 天之間。 詳情請參閱「建立預測指標值警告政策」和「使用 API 建立警告政策」。 |
您希望在資源可能在未來 24 小時內達到 80% 磁碟空間用量時,透過警告政策向支援團隊發出警告。 |
建議您盡可能篩選受監控資源類型上定義的標籤,而非指標類型上定義的標籤,尤其是查詢高基數指標時。如果資源標籤和指標標籤擷取的資訊相似,請在查詢中使用資源標籤。
舉例來說,如果受監控資源包含 cluster 標籤,而指標包含擷取類似資訊的 kubernetes_cluster_name 標籤,請篩選資源 cluster 標籤。
資源中繼資料標籤會以非同步方式新增至時間序列,且不適用與指標類型或受監控資源類型定義的標籤值相同的 延遲時間預期。因此,如果資源中繼資料標籤的填入作業延遲,依據中繼資料值觸發動作的警告政策可能會不穩定。
監控記錄項目資料
如要監控個別記錄項目,請使用記錄警告政策。當記錄警告政策偵測到記錄項目中的詞組符合警告政策條件時,即符合記錄警告政策的條件。舉例來說,您希望在記錄項目的 message 包含 product_ids=['tier_1_support', 'tier_2_support'] 時,警告政策會向支援團隊發出警告。
詳情請參閱 Logging 說明文件中的「設定記錄警告政策」。
監控 SQL 查詢結果
如要監控 SQL 查詢結果,請使用 SQL 警告政策。SQL 警告政策的條件會定期分析記錄項目資料,並在查詢結果資料表符合特定條件時建立警告。如果需要監控多個記錄項目中的資料匯總或複雜模式,這類警告政策就非常實用。舉例來說,如果過去 60 分鐘內有超過 50 個記錄項目的嚴重程度為 WARNING,您希望收到通知。
詳情請參閱 Logging 說明文件中的「使用警告政策監控 SQL 查詢結果」。
警告政策元件
每項警告政策都包含下列元件:
說明資源或一組資源何時處於需要您回應的狀態。條件包括資料來源、靜態或動態門檻,以及篩選器和 groupby 等資料匯總方法。條件可以監控單一指標、多個指標或指標比率。您也可以使用 Prometheus 查詢語言 (PromQL),加入動態門檻和條件邏輯等複雜運算式。
如果您使用整合功能啟用建議的警告政策,系統會預先填入警告政策條件。
列出通知管道,說明需要採取行動時應通知的對象。詳情請參閱「建立及管理通知管道」。
通知和警告頁面中顯示的說明文件。您可以設定通知的主旨行,並在通知內文中加入實用資訊。舉例來說,您可以設定通知,顯示內部教戰手冊或 Google Cloud 頁面 (例如自訂資訊主頁) 的連結。如要進一步瞭解說明文件 (包括範例),請參閱「使用使用者定義的文件為警告加上註解」。
管理警告政策和警告
啟用警告政策後,Monitoring 會持續監控該政策的條件。您無法設定警告政策,只監控特定時間範圍內的條件。如要停用警告政策一段時間範圍,請建立延後。
如果警告處於開啟狀態,且 Monitoring 判定不再符合指標型政策的條件,Monitoring 會自動關閉警告,並傳送關閉通知。
定價
如要瞭解 Cloud Monitoring 的定價,請參閱「Google Cloud Observability 定價」頁面。
如要瞭解如何監控擷取的追蹤記錄 span 或記錄數量,或如何在記錄項目包含特定內容時收到通知,請參閱下列文件:
後續步驟
如要瞭解通知延遲時間,以及警告政策參數選項如何影響通知傳送時間,請參閱「以指標為基準的警告政策行為」。
如需指標型政策範例清單,包括如何使用 JSON 編寫指標門檻條件,以監控指標類型的比率,請參閱「警告政策範例摘要」。