配置 PrometheusRules
PrometheusRule 定義了一組 Prometheus 警報和/或記錄規則。
備註
本節假設您熟悉監控元件如何協同工作。有關更多資訊,請參閱此章節。
在 Rancher UI 中建立 PrometheusRules
先決條件:
需要安裝監控應用程式。
要在 Rancher UI 中建立規則群組,
- 前往您想要建立規則群組的叢集。點擊監控 > 進階,然後點擊 Prometheus Rules。
- 點擊建立。
- 輸入群組名稱。
- 配置規則。在 Rancher 的 UI 中,我們期望規則群組包含警報規則或記錄規則,但不能同時包含兩者。有關填寫表單的幫助,請參閱下面的配置選項。
- 點擊建立。
**結果:**可以配置警報以向接收器發送通知。
關於 PrometheusRule 自訂資源
當您定義規則(在 PrometheusRule 資源的 RuleGroup 中聲明)時,規則本身的規格包含由 Alertmanager 使用的標籤,以確定哪個路由應該接收此警報。例如,帶有標籤 team: front-end 的警報將發送到與該標籤匹配的所有路由。
Prometheus 規則檔案保存在 PrometheusRule 自訂資源中。PrometheusRule 允許您定義一個或多個 RuleGroup。每個 RuleGroup 由一組規則物件組成,每個規則物件可以代表警報規則或記錄規則,並具有以下欄位:
- 新警報或記錄的名稱
- 新警報或記錄的 PromQL 表達式
- 應該附加到警報或記錄以識別它的標籤(例如叢集名稱或嚴重性)
- 註解,用於編碼需要在警報通知上顯示的任何其他重要資訊(例如摘要、描述、訊息、runbook URL 等)。記錄規則不需要此欄位。
有關可以指定哪些欄位的更多資訊,請參閱 Prometheus Operator 規格。
使用 Prometheus 物件中的標籤選擇器欄位 ruleSelector 來定義您想要掛載到 Prometheus 的規則檔案。
有關範例,請參閱 Prometheus 文件中的記錄規則和警報規則。
配置
規則群組
| 欄位 | 描述 |
|---|---|
| 群組名稱 | 群組的名稱。在規則檔案中必須是唯一的。 |
| 覆寫群組間隔 | 以秒為單位的持續時間,表示群組中的規則多久評估一次。 |
警報規則
警報規則允許您根據 PromQL(Prometheus 查詢語言)表達式定義警報條件,並將有關觸發警報的通知發送到外部服務。
| 欄位 | 描述 |
|---|---|
| 警報名稱 | 警報的名稱。必須是有效的標籤值。 |
| 等待觸發時間 | 以秒為單位的持續時間。警報在返回此時間後被視為觸發。尚未觸發足夠長時間的警報被視為待處理。 |
| PromQL 表達式 | 要評估的 PromQL 表達式。Prometheus 將在每個評估週期評估此 PromQL 表達式的當前值,所有結果時間序列將成為待處理/觸發的警報。有關更多資訊,請參閱 Prometheus 文件或我們的範例 PromQL 表達式。 |
| 標籤 | 要為每個警報新增或覆寫的標籤。 |
| 嚴重性 | 啟用時,標籤將附加到警報或記錄,以按嚴重性層級識別它。 |
| 嚴重性標籤值 | 嚴重、警告或無 |
| 註解 | 註解是一組資訊性標籤,可用於儲存較長的附加資訊,例如警報描述或 runbook 連結。runbook 是有關如何處理警報的一組文件。註解值可以是範本化的。 |
記錄規則
記錄規則允許您預先計算經常需要或計算成本高的 PromQL(Prometheus 查詢語言)表達式,並將其結果儲存為一組新的時間序列。
| 欄位 | 描述 |
|---|---|
| 時間序列名稱 | 要輸出到的時間序列名稱。必須是有效的指標名稱。 |
| PromQL 表達式 | 要評估的 PromQL 表達式。Prometheus 將在每個評估週期評估此 PromQL 表達式的當前值,結果將被記錄為一組新的時間序列,指標名稱由「record」給出。有關表達式的更多資訊,請參閱 Prometheus 文件或我們的範例 PromQL 表達式。 |
| 標籤 | 在儲存結果之前要新增或覆寫的標籤。 |