您可以通過Prometheus告警規則模板功能來統一管理分布在不同地域的多個Prometheus實例的告警規則。本文介紹如何創建和管理Prometheus告警規則模板。
創建Prometheus告警規則模板
登錄應用性能監控APM控制臺,點擊左側菜單欄Prometheus監控。
在Prometheus監控菜單下,點擊告警規則模板頁面。
在頁面左上角點擊創建告警規則模板按鈕。
在創建告警規則模板頁面,根據以下參數說明進行設置。您可以選擇通過靜態閾值或自定義PromQL創建Prometheus告警規則模板。
靜態閾值檢查類型
靜態閾值檢查類型提供了系統預設的告警指標,通過選擇已有的告警指標,您可以通過語義化的方式快速創建對應指標項的告警規則。
參數 | 說明 | 示例 |
告警規則模板名稱 | 自定義告警規則模板的名稱 | 測試集群-容器CPU使用率告警 |
告警規則模板描述 | 輸入該模板的備注描述信息,可以用于記錄模板的含義、適用場景等。 | - |
檢測類型 | 選擇靜態閾值。 | 靜態閾值 |
告警分組 | 選擇告警分組,不同的告警分組包含不同的告警指標。 | Kubernetes負載 |
| 告警指標 | 選擇需要進行監控告警的指標,每個告警分組包含不同的指標。 | Pod磁盤使用率 |
| 告警條件 | 基于告警指標預置內容,設置告警事件產生條件,如比較符與閾值。 | 當Pod磁盤使用率>80時,滿足告警條件。 |
持續時間 |
| - |
告警等級 | 自定義告警等級。告警嚴重程度從一般,次要,重要,緊急逐級上升。 | 一般 |
告警內容 | 用戶收到的告警信息。您可以使用Go template語法在告警內容中自定義告警參數變量。 | 命名空間:{{$labels.namespace}} / Pod: {{$labels.pod_name}} / 容器:{{$labels.container}} CPU使用率{{$labels.metrics_params_opt_label_value}} {{$labels.metrics_params_value}}%, 當前值{{ printf "%.2f" $value }}% |
高級設置 | ||
標簽 | 設置告警標簽,設置的標簽可用作通知策略匹配規則的選項。 | 無 |
自定義PromQL類型
您可以通過使用自定義PromQL類型來創建告警規則,對靜態閾值中系統預設指標之外的指標進行監控,
參數 | 說明 | 示例 |
告警規則模板名稱 | 自定義告警規則模板的名稱 | Pod的CPU使用率大于80% |
告警規則模板描述 | 輸入該模板的備注描述信息,可以用于記錄模板的含義、適用場景等。 | - |
檢測類型 | 設置為自定義PromQL。 | 自定義PromQL |
自定義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 |
持續時間 |
| - |
告警等級 | 自定義告警等級。告警嚴重程度從一般,次要,重要,緊急逐級上升。 | 一般 |
告警內容 | 用戶收到的告警信息。您可以使用Go template語法在告警內容中自定義告警參數變量。 | 命名空間:{{$labels.namespace}}/Pod: {{$labels.pod_name}}/磁盤設備: {{$labels.device}} 使用率超過90%,當前值{{ printf "%.2f" $value }}% |
高級設置 | ||
標簽 | 設置告警標簽,設置的標簽可用作通知策略匹配規則的選項。 | 無 |
應用模板
完成Prometheus告警模板創建后,您可以通過應用模板來為Prometheus實例創建告警規則,或者根據現有模板更新Prometheus實例的告警規則。
在Prometheus告警規則模板頁面,點擊目標告警規則模板右側的應用模板。
在應用模板頁面的Prometheus實例選擇模式界面中,選擇目標Prometheus實例,點擊應用按鈕。
在彈出的提示框中選擇是否更新已創建的告警規則,然后點擊確定。系統將會使用當前告警規則模板,對選中的Prometheus實例創建告警規則。
未勾選“更新已經創建的告警規則”:若選中的Prometheus實例已經存在通過當前告警模板創建的告警規則,那么在創建告警規則時,將會提示您已經使用此模板創建過告警規則,將不進行更新,此時告警規則不會被更新。
勾選“更新已經創建的告警規則”:若選中的Prometheus實例已經存在通過當前告警模板創建的告警規則,那么此時會根據最新的告警模板內容,更新該實例的告警規則。
刪除模板
當您不再使用Prometheus告警模板時,您可進行刪除操作。刪除模板時,可以按需選擇是否保留由此告警模板創建的告警規則。
在告警規則模板頁面,點擊目標告警規則模板右側的更多-刪除按鈕。
在彈出的提示對話框中選擇是否同時刪除從模板創建的告警規則,然后單擊確認。
勾選“同時刪除從模板創建的告警規則”:系統將會刪除與模板相關聯的所有Prometheus實例告警規則。如果通過模板創建的Prometheus告警規則被手動編輯過,并且保存時選擇了不保留模板與規則的映射關系,則對應的告警規則不會被刪除。
不勾選“同時刪除從模板創建的告警規則”:通過模板創建的Prometheus告警規則將會保留。
查看通過模板創建的告警規則
支持查看通過模板創建的告警規則。
在告警規則模板頁面,點擊目標告警規則模板右側的更多-查看模板創建規則。
在界面中即可查看通過該模板創建的告警規則。