跳至主要内容

配置 PrometheusRules

PrometheusRule 定義了一組 Prometheus 警報和/或記錄規則。

備註

本節假設您熟悉監控元件如何協同工作。有關更多資訊,請參閱此章節。

在 Rancher UI 中建立 PrometheusRules​

先決條件:

需要安裝監控應用程式。

要在 Rancher UI 中建立規則群組,

  1. 前往您想要建立規則群組的叢集。點擊監控 > 進階,然後點擊 Prometheus Rules。
  2. 點擊建立。
  3. 輸入群組名稱。
  4. 配置規則。在 Rancher 的 UI 中,我們期望規則群組包含警報規則或記錄規則,但不能同時包含兩者。有關填寫表單的幫助,請參閱下面的配置選項。
  5. 點擊建立。

**結果:**可以配置警報以向接收器發送通知。

關於 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 表達式。
標籤在儲存結果之前要新增或覆寫的標籤。