您可以在 Cloud Monitoring 中使用 Prometheus 查詢語言 (PromQL) 查詢,建立具有複雜條件的警告政策,例如指標比率、依據其他指標設定的動態門檻,以及合併指標。這些政策最多可評估 2 年的指標資料。
如果您在 Google Cloud 以外的環境使用 Prometheus,或在 Google Cloud Managed Service for Prometheus 中使用警告功能,則可將 Prometheus 警告規則遷移至以 PromQL 為基礎的警告政策。遷移規則後,您就能在 Monitoring 中管理所有警告政策。您也可以將 Grafana 資訊主頁匯入 Cloud Monitoring。如要瞭解使用 PromQL 的一般資訊,以及警告政策如何評估資料,請參閱「Cloud Monitoring 中的 PromQL」和「指標型警告政策的行為」。
在 Cloud Monitoring 警告政策中使用 PromQL
您可以透過下列方式建立以 PromQL 為基礎的警告政策:
如要在 Google Cloud 控制台建立警告政策,並在程式碼編輯器中定義 PromQL 查詢,請參閱「建立以 PromQL 為基礎的警告政策 (控制台)」。
如要使用 gcloud CLI 或 Monitoring API 中的
AlertPolicy建構函式建立 PromQL 警告政策,請參閱「建立 PromQL 警告政策 (API)」。如要使用 Google Cloud CLI,將 Prometheus 警告規則和通知管道遷移至 Cloud Monitoring,請參閱「從 Prometheus 遷移警告規則和接收器」。
PromQL 警告政策建立的警告會與其他警告一起顯示在 Google Cloud 控制台中。您可以在 Google Cloud 控制台與這些警告互動。
PromQL 警告政策的條件可參照 Cloud Monitoring 中的任何指標,包括 Google Cloud 系統指標、自訂和記錄指標,以及 Prometheus 指標。您必須將非 Prometheus 指標的名稱,轉譯為 PromQL 指標語法。詳情請參閱「將 Monitoring 指標對應至 PromQL」。
查詢超過 2 年的指標資料
其他警告政策類型只能查詢超過 25 小時的指標資料,但 PromQL 可用於對最多 2 年的指標資料發出警告。這項功能支援以下用途:
- 比較過去 5 分鐘與 1 週前相同 5 分鐘的時間範圍,偵測異常狀況。
- 執行 7 天緩慢消耗警告政策。
- 取得上個月的平均值,並在最近一小時的資料與平均值相差超過 3 個標準差時發出快訊。
- 使用
predict_linear函式分析上週的資料,查看隔天是否會超過門檻。
PromQL 警告政策會根據最近 25 小時的資料運作,資料範圍由對齊週期和使用 offset 修飾符造成的任何時間偏移總和定義,評估頻率可達每 30 秒一次。如果政策是針對較舊的資料運作,評估頻率會較低,最短週期取決於警告政策的回溯時間:
| 查詢回溯範圍 | 評估時間間隔下限 (預設) |
|---|---|
| 最長 25 小時1 | 30 秒 |
| 25 小時至 8 天 | 5 分鐘 |
| 8 到 16 天 | 1 小時 |
| 16 至 32 天 | 2 小時 |
| 32 天至 93 天 | 6 小時 |
| 93 天至 2 年 | 12 小時 |
1 Google Cloud 服務的部分指標僅支援 30 秒的評估間隔,最長可達 23 小時 30 分鐘。
請務必將所有 rate 時間長度設為至少與評估間隔等長,以免警告政策遺漏任何資料。舉例來說,如果評估間隔為 1 小時,查詢應類似 rate(metric[1h])。
如果條件運作超過 25 小時,查詢期限為 2 分鐘,與 Metrics Explorer 的期限相同。如果 PromQL 查詢在 Metrics Explorer 中未逾時,就不會在快訊中逾時。
PromQL 警告政策在處理最近 25 小時的資料時,可靠性會大幅提升。為確保可靠性,請確認重新測試時間範圍、校正週期,以及使用 offset 修飾符造成的任何時間偏移,總和不超過 25 小時。
如果 PromQL 警告查詢存取的資料超過 25 小時,則會停用重新測試時間範圍。
您只能針對自訂指標 (前置字元 custom.googleapis.com) 和使用者定義的記錄指標 (前置字元 logging.googleapis.com/user/) 的最近 25 小時資料設定警告。
限制
請勿在以 PromQL 為基礎的警告政策中,新增使用系統中繼資料標籤的篩選器。
PromQL 警告政策的重新測試時間範圍最多為 24 小時。如果您使用重新測試時間範圍,則重新測試時間範圍、校正週期,以及使用 offset 修飾符造成的任何時間偏移,總和不得超過 25 小時。
如果 Prometheus 警告規則參照指標,您必須先在 Cloud Monitoring 中建立對等的指標描述元,才能建立以 PromQL 為基礎的警告政策。不過,您可以使用 Cloud Monitoring API 設定 PromQL 警告政策,覆寫這項驗證。詳情請參閱「停用指標存在檢查」。
如果警告政策監控指標比率,請將時間長度設為評估間隔的至少兩倍。如果時間過短,可能會導致誤報。詳情請參閱「比率計算異常導致的錯誤警告」。