通過設定Prometheus警示規則,您可以為特定的監控指標設定條件觸發警示。滿足這些條件時,系統會產生相應的警示事件。為了接收這些警示通知,您需要配置警示通知策略,它可以將警示通過簡訊、電子郵件、電話、DingTalk群機器人、企業微信機器人或Webhook等多種方式發送給您。
前提條件
已接入Prometheus,具體操作,請參見:
功能入口
登入ARMS控制台。
在左側導覽列,選擇 。
在Prometheus警示規則頁面,單擊建立Prometheus警示規則。
通過靜態閾值建立Prometheus警示規則
靜態閾值檢查類型為您提供了一系列系統預定義的警示指標。通過選擇這些現有指標,您可以通過直觀的方式迅速建立相應指標的警示規則。
在建立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 }}%
警示通知
極簡模式:可以設定通知對象、通知時段和重複策略。
普通模式:
不指定通知策略:若選擇此選項,當完成建立警示規則後,您可以在通知策略頁面建立通知策略並指定匹配規則和匹配條件(如警示規則名稱等)來匹配該警示規則。當該警示規則被觸發產生警示事件後,警示資訊會被發送給通知策略中指定的連絡人或連絡人群組。更多資訊,請參見通知策略。
指定某個通知策略:若選擇此項,ARMS會自動在對應的通知策略添加一條匹配規則,匹配規則內容為警示規則ID(以警示規則名稱的方式呈現),以確保當前警示規則產生的警示事件一定可以被選擇的通知策略匹配到。
重要快速指定通知策略只能保證當前警示規則產生的警示事件一定能夠被所選的通知策略匹配到並且產生對應的警示。但是,當前警示規則產生的事件同時也可能被其它設定了模糊比對的通知策略匹配到並且產生警示。警示規則產生的警示事件和通知策略之間是多對多的匹配關係。
不指定通知規則
進階設定
警示檢查周期
指警示規則每隔N分鐘進行一次檢查,判斷資料是否滿足警示條件。預設1分鐘,最少設定1分鐘。
1
資料完整後再檢查
是
否
是
標籤
設定警示標籤,設定的標籤可用作通知策略匹配規則的選項。
無
注釋
設定警示的注釋。
無
設定完成後單擊儲存。在Prometheus警示規則列表頁面,您可以查看當前警示規則的狀態。
如果該警示規則的狀態為自動中斷,請您根據提示的中斷原因,對該警示規則進行重新編輯,並單擊啟動,然後在彈出的對話方塊中單擊確認。如果您遇到無法解決的規則中斷問題,請聯絡ARMS警示服務DingTalk號(d9j_rg9e4062f)協助解決。
可能導致警示規則狀態自動中斷的原因有以下幾種:
規則查詢結果的數量超過1500。
警示管理中未配置任何通知對象。
Prometheus執行個體處於已卸載或不可用狀態。
通過自訂PromQL建立Prometheus警示規則
如果需要對靜態閾值中系統預設指標之外的指標進行監控,您可以使用自訂PromQL檢測類型來建立警示規則。
在建立Prometheus警示規則版面設定以下警示參數。
參數
說明
樣本
警示名稱
警示的名稱。
Pod的CPU使用率大於8%
檢測類型
設定為自訂PromQL。
自訂PromQL
Prometheus執行個體
選擇需要建立警示的Prometheus執行個體。
無
參考警示分組
選擇警示分組。
不同Prometheus類型支援的警示分組不同,警示分組備選項會隨著選擇的Prometheus執行個體類型的不同產生變化。
Kubernetes負載
參考警示指標
可選。參考指標中包括了常見指標的自訂PromQL配置方法,您可以選擇已有的類似指標來進行填充,然後參考對應指標的配置方式進行修改以完成警示配置。
參考指標參數會根據選擇的Prometheus執行個體類型自動過濾支援的警示指標。
Pod磁碟使用率警示
自訂PromQL語句
使用PromQL語句設定警示規則運算式。
命名空間:{{$labels.namespace}}/Pod: {{$labels.pod_name}}/磁碟裝置:{{$labels.device}} 使用率超過90%,當前值{{ printf "%.2f" $value }}%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語句,並以時序曲線的形式展示當前警示規則配置的監控指標的值。
預設僅展示一個資源的即時值,您可以在該地區的篩選框中選擇目標資源以及時間區間來查看不同時間區間和不同資源的值。
說明將滑鼠懸浮於時序曲線上,可以查看對應時間點的資源詳情。
在時序曲線上選中一段時間,可以查看對應時間段的時序曲線。
無
期間
當警示條件滿足時,直接產生警示事件:任何一個資料點滿足閾值,就會產生警示事件。
當警示條件滿足持續N分鐘時,才產生警示事件:即只有當滿足閾值的時間大於等於N分鐘時,才產生警示事件。
1
警示等級
自訂警示等級。預設警示等級為預設,警示嚴重程度從預設、P4、P3、P2、P1逐級上升。
預設
警示內容
使用者收到的警示資訊。您可以使用Go template文法在警示內容中自訂警示參數變數。
命名空間:{{$labels.namespace}}/Pod: {{$labels.pod_name}}/磁碟裝置:{{$labels.device}} 使用率超過90%,當前值{{ printf "%.2f" $value }}%
警示通知
極簡模式:可以設定通知對象、通知時段和重複策略。
普通模式:
不指定通知策略:若選擇此選項,當完成建立警示規則後,您可以在通知策略頁面建立通知策略並指定匹配規則和匹配條件(如警示規則名稱等)來匹配該警示規則。當該警示規則被觸發產生警示事件後,警示資訊會被發送給通知策略中指定的連絡人或連絡人群組。更多資訊,請參見通知策略。
指定某個通知策略:若選擇此項,ARMS會自動在對應的通知策略添加一條匹配規則,匹配規則內容為警示規則ID(以警示規則名稱的方式呈現),以確保當前警示規則產生的警示事件一定可以被選擇的通知策略匹配到。
重要快速指定通知策略只能保證當前警示規則產生的警示事件一定能夠被所選的通知策略匹配到並且產生對應的警示。但是,當前警示規則產生的事件同時也可能被其它設定了模糊比對的通知策略匹配到並且產生警示。警示規則產生的警示事件和通知策略之間是多對多的匹配關係。
不指定通知規則
進階設定
警示檢查周期
指警示規則每隔N分鐘進行一次檢查,判斷資料是否滿足警示條件。預設1分鐘,最少設定1分鐘。
1
資料完整後再檢查
是
否
是
標籤
設定警示標籤,設定的標籤可用作通知策略匹配規則的選項。
無
注釋
設定警示的注釋。
無
設定完成後單擊儲存。在Prometheus警示規則列表頁面,您可以查看當前警示規則的狀態。
如果該警示規則的狀態為自動中斷,請您根據提示的中斷原因,對該警示規則進行重新編輯,並單擊啟動,然後在彈出的對話方塊中單擊確認。如果您遇到無法解決的規則中斷問題,請聯絡ARMS警示服務號(d9j_rg9e4062f)協助解決。
可能導致警示規則狀態自動中斷的原因有以下幾種:
規則查詢結果的數量超過1500。
警示管理中未配置任何通知對象。
Prometheus執行個體已經卸載或不可用狀態。
管理警示規則
對於在可觀測監控 Prometheus 版控制台的警示規則頁面建立的警示,包括靜態閾值、自訂PromQL警示,您可以進行編輯、啟動(警示狀態為已停止)、停止(警示狀態為運行中)、刪除、複製、查看警示事件歷史的操作。
對於在阿里雲其他雲產品控制台產生的警示,您可以查看警示事件歷史、跳回雲產品警示列表。