通過設定Prometheus告警規則,您可以為特定的監控指標設定條件觸發告警。滿足這些條件時,系統會生成相應的告警事件。為了接收這些告警通知,您需要配置告警通知策略,它可以將告警通過短信、電子郵件、電話、釘釘群機器人、企業微信機器人或Webhook等多種方式發送給您。
前提條件
已接入Prometheus,具體操作,請參見:
功能入口
在左側導航欄,單擊告警規則列表。
在Prometheus告警規則頁面,單擊創建Prometheus告警規則。
通過靜態閾值創建Prometheus告警規則
靜態閾值檢查類型為您提供了一系列系統預定義的告警指標。通過選擇這些現有指標,您可以通過直觀的方式迅速建立相應指標的告警規則。
在創建Prometheus告警規則頁面設置以下告警參數。
參數
說明
示例
告警名稱
告警的名稱。
生產集群-容器CPU使用率告警
檢測類型
選擇靜態閾值。
靜態閾值
Prometheus實例
選擇需要創建告警的Prometheus實例。
生產集群
告警分組
選擇告警分組。
不同Prometheus類型支持的告警分組不同,告警分組備選項會隨著選擇的Prometheus實例類型的不同產生變化。
Kubernetes負載
告警指標
選擇想要配置告警的指標,每個告警分組對應不同的指標。
容器CPU使用率
告警條件
基于告警指標預置內容設置告警事件產生條件。
當容器CPU使用率
大于
80%時,滿足告警條件。篩選條件
根據告警指標,設置當前配置的告警規則適用的范圍,即所有符合篩選條件的資源滿足此條告警規則時,均會產生告警事件。
可選篩選條件包括:
遍歷:告警規則適用于當前Prometheus實例下的所有資源。篩選條件默認為遍歷。
等于:選擇該條件后,需要繼續輸入具體資源名稱。所創建的告警規則將僅適用于對應資源。不支持同時填寫多個資源。
不等于:選擇該條件后,需要繼續輸入具體資源名稱。所創建的告警規則將適用于除該資源之外的其他資源。不支持同時填寫多個資源。
正則匹配:選擇該條件后,按需輸入正則表達式匹配相應的資源名稱。所創建的告警規則將適用于符合該正則表達式的所有資源。
正則不匹配:選擇該條件后,按需輸入正則表達式匹配相應的資源名稱。所創建的告警規則將過濾符合該正則表達式的所有資源。
說明完成篩選條件設置后,會彈出數據預覽區域。
請將篩選條件字符限制在300個字符以內。
遍歷
數據預覽
數據預覽區域展示告警條件對應的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告警服務釘釘號(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告警,您可以進行編輯、啟動(告警狀態為已停止)、停止(告警狀態為運行中)、刪除、復制、查看告警事件歷史的操作。
對于在阿里云其他云產品控制臺生成的告警,您可以查看告警事件歷史、跳回云產品告警列表。