新版可觀測監控 Prometheus 版已整合至CloudMonitor,您可以直接在CloudMonitor中建立Prometheus警示規則,Prometheus警示規則產生的警示事件預設會整合到ARMS警示管理。本文介紹如何建立Prometheus警示規則,並通過ARMS警示管理將Prometheus警示通知發送到DingTalk、簡訊等渠道。
前提條件
雲產品已接入Prometheus。
已開通ARMS。
建立警示規則
在左側導覽列,選擇。
在警示規則頁面選擇目標地區,然後單擊建立警示規則。
在建立警示規則面板設定以下警示參數。
參數
說明
樣本
規則名稱
警示規則的名稱。
生產叢集-容器CPU使用率警示
資料來源
選擇需要建立警示的Prometheus執行個體。
生產叢集
檢測條件定義方式
基於預定義指標配置:Prometheus為您提供了一系列系統預定義的警示指標。通過選擇這些現有指標,您可以通過直觀的方式迅速建立相應指標的警示規則。
自訂PromQL:直接輸入PromQL語句。
基於預定義指標配置
基於預定義指標配置-指標分組
選擇指標分組。
Kubernetes負載
基於預定義指標配置-指標
選擇想要配置警示的指標,每個指標分組對應不同的指標。
容器CPU使用率
基於預定義指標配置-篩選條件
根據警示指標,設定當前配置的警示規則適用的範圍,即所有符合篩選條件的資源滿足此條警示規則時,均會產生警示事件。
可選篩選條件包括:
遍曆:警示規則適用於當前Prometheus執行個體下的所有資源。篩選條件預設為遍曆。
等於:選擇該條件後,需要繼續輸入具體資源名稱。所建立的警示規則將僅適用於對應資源。不支援同時填寫多個資源。
不等於:選擇該條件後,需要繼續輸入具體資源名稱。所建立的警示規則將適用於除該資源之外的其他資源。不支援同時填寫多個資源。
正則匹配:選擇該條件後,按需輸入Regex匹配相應的資源名稱。所建立的警示規則將適用於符合該Regex的所有資源。
正則不匹配:選擇該條件後,按需輸入Regex匹配相應的資源名稱。所建立的警示規則將過濾符合該Regex的所有資源。
遍曆
基於預定義指標配置-檢測條件
基於警示指標預置內容設定警示事件產生條件。
當容器CPU使用率
大於80%時,滿足警示條件。基於預定義指標配置-PromQL 預覽
警示條件對應的PromQL語句。您可以使用PromQL語句直接通過自訂PromQL的方式建立警示,也可以通過該PromQL建立大盤。
-
自訂 PromQL-自訂 PromQL
使用PromQL語句設定警示規則運算式。
100 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m])) * 100 > 80
查詢結果預覽
以時序曲線的形式展示當前警示規則配置的監控指標的值。
無
嚴重等級
預設嚴重等級為P4,嚴重程度從P4、P3、P2、P1逐級上升。
P4
期間
當滿足閾值的時間大於等於N分鐘時,才產生警示事件。
1
警示檢查周期
指警示規則每隔N分鐘進行一次檢查,判斷資料是否滿足警示條件。
1
資料完成後再檢測
是否在確定當前周期內的所有監控資料都已成功收集並處理完畢之後,再基於這些完整的資料來判斷是否觸發警示條件。
是
警報內容
使用Go Template文法在警示內容中自訂警示參數變數。
對於基於預定義指標配置方式,系統為不同指標預置了相應的模板。當預置模板不能滿足需求時,您可以進行手動修改。
例如:
節點 {{ $labels.instance }} CPU使用率{{$labels.metrics_params_opt}} {{$labels.metrics_params_value}}%,當前CPU使用率 {{ printf "%.2f" $value }}%警示內容還可以添加自訂標籤,例如:

Go Template在渲染模板時,需要依據上下文中的資料來填充模板,其中,命名空間
{{$labels.namespace}}、Pod{{$labels.pod_name}}是取自於PromQL查詢出的結果:
增加自訂標籤和註解,可以通過
{{$labels.custom_label_key}}引入。
命名空間:{{$labels.namespace}} / Pod: {{$labels.pod_name}} / 容器:{{$labels.container}} CPU使用率{{$labels.metrics_params_opt_label_value}} {{$labels.metrics_params_value}}%, 當前值{{ printf "%.2f" $value }}%
標籤
設定警示標籤,設定的標籤可用作通知策略匹配規則的選項。
無
注釋
設定警示的注釋。
無
警示通知
警示事件預設會發送到 ARMS 警示管理中,您可以前往 ARMS 警示管理平台配置通知策略發送警示通知。
是
設定完成後單擊確定。在警示規則列表頁面,您可以查看當前警示規則的狀態。
配置警示通知
登入ARMS控制台,在左側導覽列選擇。
在通知策略頁面單擊建立通知策略,然後在建立通知策略頁面頂部設定通知策略名稱稱。
在匹配規則地區設定警示事件的匹配規則。
選擇資料來源為ARMS-Prometheus監控。

設定匹配規則運算式,您可以自訂標籤或選擇已有的標籤,並選擇對應的匹配值。如果下拉選擇項中如果沒有對應值,可以直接輸入期望設定的值。
已有的標籤包括系統內建標籤和警示規則指標中攜帶的標籤。
單擊下一步。
在事件分組地區,設定警示事件是否需要分組,然後單擊下一步。
不需要分組:所有警示事件會以一條警示資訊發送給處理人。
設定分組欄位:欄位內容相同的警示事件會匯總到同一警示發送通知。
在通知對象地區,設定以下參數。
單擊+添加通知對象選擇通知對象。
通知物件類型:

連絡人:選擇具體連絡人後還需選擇使用電話、簡訊或郵件的通知方式。
連絡人群組:選擇具體連絡人群組後還需選擇使用電話、簡訊或郵件的通知方式。
排班:選擇具體排班後還需選擇使用電話、簡訊或郵件的通知方式。
DingTalk/飛書/企微:通過DingTalk、飛書或企業微信發送警示通知。
通用Webhook:通過Webhook發送警示通知。
選擇警示恢複後是否發送恢複通知。
發送恢複通知:當警示下面全部事件都恢複時,警示狀態是否自動回復為已解決。當警示恢複時,系統將會發送通知給警示處理人。
設定通知模板,更多資訊,請參見配置通知模板和Webhook模板。
設定通知時段,警示會在設定的通知時段內發送警示通知。
可選:選擇警示需要推送到的工單系統。整合工單系統的操作,請參見整合。
單擊下一步。
在重複/升級/恢複策略地區設定警示是否需要週期性通知或使用升級策略,然後單擊下一步。
警示是否需要週期性通知:如果需要週期性通知,設定重複頻率。當警示未恢複時,警示會以設定的重複頻率迴圈發送警示資訊直至警示恢複。
警示是否配置升級策略:
不需要升級策略,警示未恢複狀態下只發送一次。
選擇升級策略後,警示未恢複狀態下,警示通知將會根據升級策略發送通知給其他通知對象。
警示是否開啟手動恢複:開啟手動恢複後,當警示事件在警示整合中設定的自動回復時間內都沒有再觸發,警示不會自動回復,必須人工幹預調整狀態。
在行動整合地區可以設定警示觸發或恢複後自動執行的行動。更多資訊,請參見通過ARMS行動整合執行警示預案。
設定完成後,單擊儲存。

