創(chuàng)建Prometheus告警規(guī)則
通過設(shè)定Prometheus告警規(guī)則,您可以為特定的監(jiān)控指標(biāo)設(shè)定條件觸發(fā)告警。滿足這些條件時,系統(tǒng)會生成相應(yīng)的告警事件。為了接收這些告警通知,您需要配置告警通知策略,它可以將告警通過短信、電子郵件、電話、釘釘群機(jī)器人、企業(yè)微信機(jī)器人或Webhook等多種方式發(fā)送給您。
前提條件
已接入Prometheus,具體操作,請參見:
功能入口
登錄ARMS控制臺。
在左側(cè)導(dǎo)航欄,選擇 。
在Prometheus告警規(guī)則頁面,單擊創(chuàng)建Prometheus告警規(guī)則。
通過靜態(tài)閾值創(chuàng)建Prometheus告警規(guī)則
靜態(tài)閾值檢查類型為您提供了一系列系統(tǒng)預(yù)定義的告警指標(biāo)。通過選擇這些現(xiàn)有指標(biāo),您可以通過直觀的方式迅速建立相應(yīng)指標(biāo)的告警規(guī)則。
在創(chuàng)建Prometheus告警規(guī)則頁面設(shè)置以下告警參數(shù)。
參數(shù)
說明
示例
告警名稱
告警的名稱。
生產(chǎn)集群-容器CPU使用率告警
檢測類型
選擇靜態(tài)閾值。
靜態(tài)閾值
Prometheus實(shí)例
選擇需要創(chuàng)建告警的Prometheus實(shí)例。
生產(chǎn)集群
告警分組
選擇告警分組。
不同Prometheus類型支持的告警分組不同,告警分組備選項(xiàng)會隨著選擇的Prometheus實(shí)例類型的不同產(chǎn)生變化。
Kubernetes負(fù)載
告警指標(biāo)
選擇想要配置告警的指標(biāo),每個告警分組對應(yīng)不同的指標(biāo)。
容器CPU使用率
告警條件
基于告警指標(biāo)預(yù)置內(nèi)容設(shè)置告警事件產(chǎn)生條件。
當(dāng)容器CPU使用率
大于
80%時,滿足告警條件。篩選條件
根據(jù)告警指標(biāo),設(shè)置當(dāng)前配置的告警規(guī)則適用的范圍,即所有符合篩選條件的資源滿足此條告警規(guī)則時,均會產(chǎn)生告警事件。
可選篩選條件包括:
遍歷:告警規(guī)則適用于當(dāng)前Prometheus實(shí)例下的所有資源。篩選條件默認(rèn)為遍歷。
等于:選擇該條件后,需要繼續(xù)輸入具體資源名稱。所創(chuàng)建的告警規(guī)則將僅適用于對應(yīng)資源。不支持同時填寫多個資源。
不等于:選擇該條件后,需要繼續(xù)輸入具體資源名稱。所創(chuàng)建的告警規(guī)則將適用于除該資源之外的其他資源。不支持同時填寫多個資源。
正則匹配:選擇該條件后,按需輸入正則表達(dá)式匹配相應(yīng)的資源名稱。所創(chuàng)建的告警規(guī)則將適用于符合該正則表達(dá)式的所有資源。
正則不匹配:選擇該條件后,按需輸入正則表達(dá)式匹配相應(yīng)的資源名稱。所創(chuàng)建的告警規(guī)則將過濾符合該正則表達(dá)式的所有資源。
說明完成篩選條件設(shè)置后,會彈出數(shù)據(jù)預(yù)覽區(qū)域。
遍歷
數(shù)據(jù)預(yù)覽
數(shù)據(jù)預(yù)覽區(qū)域展示告警條件對應(yīng)的PromQL語句,并以時序曲線的形式展示當(dāng)前告警規(guī)則配置的監(jiān)控指標(biāo)的值。
默認(rèn)僅展示一個資源的實(shí)時值,您可以在該區(qū)域的篩選框中選擇目標(biāo)資源以及時間區(qū)間來查看不同時間區(qū)間和不同資源的值。
說明告警閾值將會以一條紅色直線的形式顯示在時序曲線中,滿足告警閾值的時序曲線顯示為深紅色,不滿足告警閾值的時序曲線顯示為藍(lán)色。
將鼠標(biāo)懸浮于時序曲線上,可以查看對應(yīng)時間點(diǎn)的資源詳情。
在時序曲線上選中一段時間,可以查看對應(yīng)時間段的時序曲線。
無
持續(xù)時間
當(dāng)告警條件滿足時,直接產(chǎn)生告警事件:任何一個數(shù)據(jù)點(diǎn)滿足閾值,就會產(chǎn)生告警事件。
當(dāng)告警條件滿足持續(xù)N分鐘時,才產(chǎn)生告警事件:即只有當(dāng)滿足閾值的時間大于等于N分鐘時,才產(chǎn)生告警事件。
1
告警等級
自定義告警等級。默認(rèn)告警等級為默認(rèn),告警嚴(yán)重程度從默認(rèn)、P4、P3、P2、P1逐級上升。
默認(rèn)
告警內(nèi)容
用戶收到的告警信息。您可以使用Go template語法在告警內(nèi)容中自定義告警參數(shù)變量。
命名空間:{{$labels.namespace}} / Pod: {{$labels.pod_name}} / 容器:{{$labels.container}} CPU使用率{{$labels.metrics_params_opt_label_value}} {{$labels.metrics_params_value}}%, 當(dāng)前值{{ printf "%.2f" $value }}%
告警通知
極簡模式:可以設(shè)置通知對象、通知時段和重復(fù)策略。
普通模式:
不指定通知策略:若選擇此選項(xiàng),當(dāng)完成創(chuàng)建告警規(guī)則后,您可以在通知策略頁面新建通知策略并指定匹配規(guī)則和匹配條件(如告警規(guī)則名稱等)來匹配該告警規(guī)則。當(dāng)該告警規(guī)則被觸發(fā)產(chǎn)生告警事件后,告警信息會被發(fā)送給通知策略中指定的聯(lián)系人或聯(lián)系人組。更多信息,請參見通知策略。
指定某個通知策略:若選擇此項(xiàng),ARMS會自動在對應(yīng)的通知策略添加一條匹配規(guī)則,匹配規(guī)則內(nèi)容為告警規(guī)則ID(以告警規(guī)則名稱的方式呈現(xiàn)),以確保當(dāng)前告警規(guī)則產(chǎn)生的告警事件一定可以被選擇的通知策略匹配到。
重要快速指定通知策略只能保證當(dāng)前告警規(guī)則產(chǎn)生的告警事件一定能夠被所選的通知策略匹配到并且產(chǎn)生對應(yīng)的告警。但是,當(dāng)前告警規(guī)則產(chǎn)生的事件同時也可能被其它設(shè)置了模糊匹配的通知策略匹配到并且產(chǎn)生告警。告警規(guī)則產(chǎn)生的告警事件和通知策略之間是多對多的匹配關(guān)系。
不指定通知規(guī)則
高級設(shè)置
告警檢查周期
指告警規(guī)則每隔N分鐘進(jìn)行一次檢查,判斷數(shù)據(jù)是否滿足告警條件。默認(rèn)1分鐘,最少設(shè)置1分鐘。
1
數(shù)據(jù)完整后再檢查
是
否
是
標(biāo)簽
設(shè)置告警標(biāo)簽,設(shè)置的標(biāo)簽可用作通知策略匹配規(guī)則的選項(xiàng)。
無
注釋
設(shè)置告警的注釋。
無
設(shè)置完成后單擊保存。在Prometheus告警規(guī)則列表頁面,您可以查看當(dāng)前告警規(guī)則的狀態(tài)。
如果該告警規(guī)則的狀態(tài)為自動中斷,請您根據(jù)提示的中斷原因,對該告警規(guī)則進(jìn)行重新編輯,并單擊啟動,然后在彈出的對話框中單擊確認(rèn)。如果您遇到無法解決的規(guī)則中斷問題,請聯(lián)系ARMS告警服務(wù)釘釘號(d9j_rg9e4062f)協(xié)助解決。
可能導(dǎo)致告警規(guī)則狀態(tài)自動中斷的原因有以下幾種:
規(guī)則查詢結(jié)果的數(shù)量超過1500。
告警管理中未配置任何通知對象。
Prometheus實(shí)例處于已卸載或不可用狀態(tài)。
通過自定義PromQL創(chuàng)建Prometheus告警規(guī)則
如果需要對靜態(tài)閾值中系統(tǒng)預(yù)設(shè)指標(biāo)之外的指標(biāo)進(jìn)行監(jiān)控,您可以使用自定義PromQL檢測類型來創(chuàng)建告警規(guī)則。
在創(chuàng)建Prometheus告警規(guī)則頁面設(shè)置以下告警參數(shù)。
參數(shù)
說明
示例
告警名稱
告警的名稱。
Pod的CPU使用率大于8%
檢測類型
設(shè)置為自定義PromQL。
自定義PromQL
Prometheus實(shí)例
選擇需要創(chuàng)建告警的Prometheus實(shí)例。
無
參考告警分組
選擇告警分組。
不同Prometheus類型支持的告警分組不同,告警分組備選項(xiàng)會隨著選擇的Prometheus實(shí)例類型的不同產(chǎn)生變化。
Kubernetes負(fù)載
參考告警指標(biāo)
可選。參考指標(biāo)中包括了常見指標(biāo)的自定義PromQL配置方法,您可以選擇已有的類似指標(biāo)來進(jìn)行填充,然后參考對應(yīng)指標(biāo)的配置方式進(jìn)行修改以完成告警配置。
參考指標(biāo)參數(shù)會根據(jù)選擇的Prometheus實(shí)例類型自動過濾支持的告警指標(biāo)。
Pod磁盤使用率告警
自定義PromQL語句
使用PromQL語句設(shè)置告警規(guī)則表達(dá)式。
命名空間:{{$labels.namespace}}/Pod: {{$labels.pod_name}}/磁盤設(shè)備:{{$labels.device}} 使用率超過90%,當(dāng)前值{{ 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
數(shù)據(jù)預(yù)覽
數(shù)據(jù)預(yù)覽區(qū)域展示告警條件對應(yīng)的PromQL語句,并以時序曲線的形式展示當(dāng)前告警規(guī)則配置的監(jiān)控指標(biāo)的值。
默認(rèn)僅展示一個資源的實(shí)時值,您可以在該區(qū)域的篩選框中選擇目標(biāo)資源以及時間區(qū)間來查看不同時間區(qū)間和不同資源的值。
說明將鼠標(biāo)懸浮于時序曲線上,可以查看對應(yīng)時間點(diǎn)的資源詳情。
在時序曲線上選中一段時間,可以查看對應(yīng)時間段的時序曲線。
無
持續(xù)時間
當(dāng)告警條件滿足時,直接產(chǎn)生告警事件:任何一個數(shù)據(jù)點(diǎn)滿足閾值,就會產(chǎn)生告警事件。
當(dāng)告警條件滿足持續(xù)N分鐘時,才產(chǎn)生告警事件:即只有當(dāng)滿足閾值的時間大于等于N分鐘時,才產(chǎn)生告警事件。
1
告警等級
自定義告警等級。默認(rèn)告警等級為默認(rèn),告警嚴(yán)重程度從默認(rèn)、P4、P3、P2、P1逐級上升。
默認(rèn)
告警內(nèi)容
用戶收到的告警信息。您可以使用Go template語法在告警內(nèi)容中自定義告警參數(shù)變量。
命名空間:{{$labels.namespace}}/Pod: {{$labels.pod_name}}/磁盤設(shè)備:{{$labels.device}} 使用率超過90%,當(dāng)前值{{ printf "%.2f" $value }}%
告警通知
極簡模式:可以設(shè)置通知對象、通知時段和重復(fù)策略。
普通模式:
不指定通知策略:若選擇此選項(xiàng),當(dāng)完成創(chuàng)建告警規(guī)則后,您可以在通知策略頁面新建通知策略并指定匹配規(guī)則和匹配條件(如告警規(guī)則名稱等)來匹配該告警規(guī)則。當(dāng)該告警規(guī)則被觸發(fā)產(chǎn)生告警事件后,告警信息會被發(fā)送給通知策略中指定的聯(lián)系人或聯(lián)系人組。更多信息,請參見通知策略。
指定某個通知策略:若選擇此項(xiàng),ARMS會自動在對應(yīng)的通知策略添加一條匹配規(guī)則,匹配規(guī)則內(nèi)容為告警規(guī)則ID(以告警規(guī)則名稱的方式呈現(xiàn)),以確保當(dāng)前告警規(guī)則產(chǎn)生的告警事件一定可以被選擇的通知策略匹配到。
重要快速指定通知策略只能保證當(dāng)前告警規(guī)則產(chǎn)生的告警事件一定能夠被所選的通知策略匹配到并且產(chǎn)生對應(yīng)的告警。但是,當(dāng)前告警規(guī)則產(chǎn)生的事件同時也可能被其它設(shè)置了模糊匹配的通知策略匹配到并且產(chǎn)生告警。告警規(guī)則產(chǎn)生的告警事件和通知策略之間是多對多的匹配關(guān)系。
不指定通知規(guī)則
高級設(shè)置
告警檢查周期
指告警規(guī)則每隔N分鐘進(jìn)行一次檢查,判斷數(shù)據(jù)是否滿足告警條件。默認(rèn)1分鐘,最少設(shè)置1分鐘。
1
數(shù)據(jù)完整后再檢查
是
否
是
標(biāo)簽
設(shè)置告警標(biāo)簽,設(shè)置的標(biāo)簽可用作通知策略匹配規(guī)則的選項(xiàng)。
無
注釋
設(shè)置告警的注釋。
無
設(shè)置完成后單擊保存。在Prometheus告警規(guī)則列表頁面,您可以查看當(dāng)前告警規(guī)則的狀態(tài)。
如果該告警規(guī)則的狀態(tài)為自動中斷,請您根據(jù)提示的中斷原因,對該告警規(guī)則進(jìn)行重新編輯,并單擊啟動,然后在彈出的對話框中單擊確認(rèn)。如果您遇到無法解決的規(guī)則中斷問題,請聯(lián)系ARMS告警服務(wù)號(d9j_rg9e4062f)協(xié)助解決。
可能導(dǎo)致告警規(guī)則狀態(tài)自動中斷的原因有以下幾種:
規(guī)則查詢結(jié)果的數(shù)量超過1500。
告警管理中未配置任何通知對象。
Prometheus實(shí)例已經(jīng)卸載或不可用狀態(tài)。
管理告警規(guī)則
對于在可觀測監(jiān)控 Prometheus 版控制臺的告警規(guī)則頁面創(chuàng)建的告警,包括靜態(tài)閾值、自定義PromQL告警,您可以進(jìn)行編輯、啟動(告警狀態(tài)為已停止)、停止(告警狀態(tài)為運(yùn)行中)、刪除、復(fù)制、查看告警事件歷史的操作。
對于在阿里云其他云產(chǎn)品控制臺生成的告警,您可以查看告警事件歷史、跳回云產(chǎn)品告警列表。