全部產品
Search
文件中心

Application Real-Time Monitoring Service:Prometheus警示規則

更新時間:Jul 06, 2024

通過建立Prometheus監控警示規則,您可以制定針對特定Prometheus執行個體的警示規則。當警示規則設定的條件滿足後,系統會產生對應的警示事件。如果想要收到通知,需要進一步配置對應的通知策略以產生警示並且以簡訊、郵件、電話、釘群機器人、企業微信機器人或者Webhook等方式發送通知。

前提條件

已建立Prometheus執行個體,具體操作,請參見:

功能入口

  1. 登入ARMS控制台
  2. 在左側導覽列,選擇Prometheus監控 > Prometheus警示規則
  3. Prometheus警示規則頁面的右上方單擊建立Prometheus警示規則

通過靜態閾值建立Prometheus警示規則

靜態閾值檢查類型提供了系統預設的警示指標,通過選擇已有的警示指標,您可以通過語義化的方式快速建立對應指標項的警示規則。

  1. 建立Prometheus警示規則版面設定以下警示參數。
    參數說明樣本
    警示名稱警示的名稱。生產叢集-容器CPU使用率警示
    檢測類型選擇靜態閾值靜態閾值
    Prometheus執行個體選擇需要建立警示的Prometheus執行個體。生產叢集
    警示分組選擇警示分組。

    不同Prometheus類型支援的警示分組不同,警示分組備選項會隨著選擇的Prometheus執行個體類型的不同產生變化。

    Kubernetes負載
    警示指標選擇想要配置警示的指標,每個警示分組對應不同的指標。容器CPU使用率
    警示條件基於警示指標預置內容設定警示事件產生條件。當容器CPU使用率大於80%時,滿足警示條件。
    篩選條件根據警示指標,設定當前配置的警示規則所適用的範圍,即所有符合篩選條件的資源滿足此條警示規則時,均會產生警示事件。
    可選篩選條件包括:
    • 遍曆:警示規則適用於當前Prometheus執行個體下的所有資源。篩選條件預設為遍曆。
    • 等於:選擇該條件後,需繼續輸入具體資源名稱。所建立的警示規則將僅適用於對應資源。不支援同時填寫多個資源。
    • 不等於:選擇該條件後,需繼續輸入具體資源名稱。所建立的警示規則將適用於除該資源之外的其他資源。不支援同時填寫多個資源。
    • 正則匹配:選擇該條件後,按需輸入Regex匹配相應的資源名稱。所建立的警示規則將適用於符合該Regex的所有資源。
    • 正則不匹配:選擇該條件後,按需輸入Regex匹配相應的資源名稱。所建立的警示規則將過濾符合該Regex的所有資源。
    說明 完成篩選條件設定後,會彈出資料預覽地區。
    遍曆
    資料預覽資料預覽地區展示警示條件對應的PromQL語句,並以時序曲線的形式展示當前警示規則配置的監控指標的值。

    預設僅展示一個資源的即時值,您可以在該地區的篩選框中選擇目標資源以及時間區間來查看不同時間區間和不同資源的值。

    說明
    • 警示閾值將會以一條紅色直線的形式顯示在時序曲線中,滿足警示閾值的時序曲線顯示為深紅色,不滿足警示閾值的時序曲線顯示為藍色。
    • 將滑鼠懸浮於時序曲線上,可以查看對應時間點的資源詳情。
    • 在時序曲線上選中一段時間,可以查看對應時間段的時序曲線。
    期間
    • 當警示條件滿足時,直接產生警示事件:有任何一個資料點滿足閾值,就會產生警示事件。
    • 當警示條件滿足持續N分鐘時,才產生警示事件:即只有當滿足閾值的時間大於等於N分鐘時,才產生警示事件。
    1
    警示等級自訂警示等級。預設警示等級為預設,警示嚴重程度從預設、P4、P3、P2、P1逐級上升。預設
    警示內容使用者收到的警示資訊。您可以使用Go template文法在警示內容中自訂警示參數變數。命名空間: {{$labels.namespace}} / Pod: {{$labels.pod_name}} / 容器: {{$labels.container}} CPU使用率{{$labels.metrics_params_opt_label_value}} {{$labels.metrics_params_value}}%, 當前值{{ printf "%.2f" $value }}%
    進階設定
    警示檢查周期指警示規則每隔N分鐘進行一次檢查,判斷資料是否滿足警示條件。預設1分鐘,最少設定1分鐘。預設
    快速指定通知策略
    • 不指定通知策略:若選擇此選項,當完成建立警示規則後,您可以在通知策略頁面建立通知策略並指定匹配規則和匹配條件(如警示規則名稱等)來匹配該警示規則。當該警示規則被觸發產生警示事件後,警示資訊會被發送給通知策略中指定的連絡人或連絡人群組。更多資訊,請參見通知策略
    • 指定某個通知策略:若選擇此項,ARMS會自動在對應的通知策略添加一條匹配規則,匹配規則內容為警示規則ID(以警示規則名稱的方式呈現),以確保當前警示規則產生的警示事件一定可以被選擇的通知策略匹配到。
    重要 快速指定通知策略只能保證當前警示規則產生的警示事件一定能夠被所選的通知策略匹配到並且產生對應警示。但是,當前警示規則產生的事件同時也可能被其它設定了模糊比對的通知策略匹配到並且產生警示。警示規則產生的警示事件和通知策略之間是多對多的匹配關係。
    不指定通知規則
    標籤設定警示標籤,設定的標籤可用作通知策略匹配規則的選項。
    注釋設定警示的注釋。
  2. 設定完成後單擊儲存。在Prometheus警示規則列表頁面,您可以查看當前警示規則的狀態。
    如果該警示規則的狀態自動中斷,請您根據提示的中斷原因,對該警示規則進行重新編輯,並單擊啟動,然後在彈出的對話方塊中單擊確認。如果您遇到無法解決的規則中斷問題,請聯絡ARMS警示服務號(d9j_rg9e4062f)協助解決。
    可能導致警示規則狀態自動中斷的原因有以下幾種:
    • 規則查詢結果的數量超過1500。
    • 警示管理中未配置任何通知對象。
    • Prometheus執行個體已經卸載或不可用狀態。

通過自訂PromQL建立Prometheus警示規則

如果需要對靜態閾值中系統預設指標之外的指標進行監控,您可以使用自訂PromQL檢測類型來建立警示規則。

  1. 建立Prometheus警示規則版面設定以下警示參數。
    參數說明樣本
    警示名稱警示的名稱。Pod的CPU使用率大於8%
    檢測類型設定為自訂PromQL自訂PromQL
    Prometheus執行個體選擇需要建立警示的Prometheus執行個體。
    參考指標可選。參考指標中包括了常見指標的自訂PromQL配置方法,您可以選擇已有的類似指標來進行填充,然後參考對應指標的配置方式進行修改以完成警示配置。

    參考指標參數會根據選擇的Prometheus執行個體類型自動過濾支援的警示指標。

    Pod磁碟使用率警示
    自訂PromQL語句使用PromQL語句設定警示則運算式。max(container_fs_usage_bytes{pod!="", namespace!="arms-prom",namespace!="monitoring"}) by (pod_name, namespace, device)/max(container_fs_limit_bytes{pod!=""}) by (pod_name,namespace, device) * 100 > 90
    資料預覽資料預覽地區展示了滿足PromQL警示運算式的叢集資源的指標時序曲線。

    預設展示所有滿足PromQL警示運算式資源的警示資料,您可以在該地區的篩選框中選擇目標資源以及時間區間進行資料展示。

    說明
    • 將滑鼠懸浮於時序曲線上,可以查看對應時間點的資源詳情。
    • 在時序曲線上選中一段時間,可以查看對應時間段的時序曲線。
    期間
    • 當警示條件滿足時,直接產生警示事件:有任何一個資料點滿足閾值,就會產生警示事件。
    • 當警示條件滿足持續N分鐘時,才產生警示事件:即只有當滿足閾值的時間大於等於N分鐘時,才產生警示事件。
    1
    警示等級自訂警示等級。預設警示等級為預設,警示嚴重程度從預設、P4、P3、P2、P1逐級上升。預設
    警示內容使用者收到的警示資訊。您可以使用Go template文法在警示內容中自訂警示參數變數。命名空間: {{$labels.namespace}}/Pod: {{$labels.pod_name}}/磁碟裝置: {{$labels.device}} 使用率超過90%,當前值{{ printf "%.2f" $value }}%
    進階設定
    警示檢查周期指警示規則每隔N分鐘進行一次檢查,判斷資料是否滿足警示條件。預設1分鐘,最少設定1分鐘。預設
    快速指定通知策略
    • 不指定通知規則:若選擇此選項,當完成建立警示規則後,您可以在通知策略頁面建立通知策略並指定匹配規則和匹配條件(如警示規則名稱等)來匹配該警示規則。當該警示規則被觸發產生警示事件後,警示資訊會被發送給通知策略中指定的連絡人或連絡人群組。更多資訊,請參見通知策略
    • 指定某個通知策略:若選擇此項,ARMS會自動在對應的通知策略添加一條匹配規則,匹配規則內容為警示規則ID(以警示規則名稱的方式呈現),以確保當前警示規則產生的警示事件一定可以被選擇的通知策略匹配到。
    重要 快速指定通知策略只能保證當前警示規則產生的警示事件一定能夠被所選的通知策略匹配到並且產生對應警示。但是,當前警示規則產生的事件同時也可能被其它設定了模糊比對的通知策略匹配到並且產生警示。警示規則產生的警示事件和通知策略之間是多對多的匹配關係。
    不指定通知規則
    標籤設定警示標籤,設定的標籤可用作通知策略匹配規則的選項。
    注釋設定警示的注釋。
  2. 設定完成後單擊儲存。在Prometheus警示規則列表頁面,您可以查看當前警示規則的狀態。
    如果該警示規則的狀態自動中斷,請您根據提示的中斷原因,對該警示規則進行重新編輯,並單擊啟動,然後在彈出的對話方塊中單擊確認。如果您遇到無法解決的規則中斷問題,請聯絡ARMS警示服務號(d9j_rg9e4062f)協助解決。
    可能導致警示規則狀態自動中斷的原因有以下幾種:
    • 規則查詢結果的數量超過1500。
    • 警示管理中未配置任何通知對象。
    • Prometheus執行個體已經卸載或不可用狀態。

管理警示規則

Prometheus警示規則頁面上,您可以對警示規則執行啟動、停止、編輯、刪除、查看警示詳情等操作。

  1. 可選:Prometheus警示規則版面設定警示過濾條件,或者在搜尋方塊中輸入警示名稱並單擊搜尋表徵圖。
  2. 在搜尋結果列表的操作列中,按需對目標警示規則採取以下操作:
    • 如需編輯警示規則,單擊編輯,在編輯警示頁面中編輯警示規則,並單擊儲存
    • 如需刪除警示規則,單擊刪除,並在提示對話方塊中單擊確認
    • 如需啟動已停止的警示規則,單擊啟動,並在提示對話方塊中單擊確認
    • 如需停止已啟動的警示規則,單擊停止,並在提示對話方塊中單擊確認
    • 如需查看警示事件歷史,單擊警示事件歷史,在事件列表頁面上查看相關記錄。