您可以通過設定Prometheus告警規則為特定的監控指標設定觸發告警條件。當監控指標滿足這些條件時,系統將會生成相應的告警事件,并通過短信、電子郵件、Webhook等多種渠道發送告警通知。
前提條件
已接入Prometheus監控,具體操作,請參見快速入門。
功能入口
登錄應用性能監控APM控制臺,點擊左側菜單欄Prometheus監控。
在Prometheus監控菜單下,單擊告警規則頁面。
在告警規則頁面,點擊創建告警規則按鈕。具體操作方式請見下方。
創建告警規則
通過靜態閾值創建告警規則
靜態閾值檢查類型提供了一系列系統預設的告警指標。您可以直接選擇這些現有指標,快速建立相應指標的告警規則。可參考以下參數說明進行配置。
字段 | 說明 | 示例 |
告警名稱 | 自定義告警的名稱。 | 容器CPU使用率告警 |
檢測類型 | 選擇靜態閾值。 | 靜態閾值 |
Prometheus實例 | 選擇需要創建告警的Prometheus實例。 | 生產集群 |
告警分組 | 選擇告警分組,不同的告警分組包含不同的告警指標。 | Kubernetes負載 |
| 告警指標 | 選擇需要進行監控告警的指標,每個告警分組包含不同的指標。 | Pod磁盤使用率 |
| 告警條件 | 基于告警指標預置內容,設置告警事件產生條件,如比較符與閾值。 | 當Pod磁盤使用率>80時,滿足告警條件。 |
數據預覽 | 根據告警指標,設置當前配置的告警規則適用的范圍,即所有符合篩選條件的資源滿足此條告警規則時,均會產生告警事件。 | - |
持續時間 |
| - |
告警等級 | 自定義告警等級。告警嚴重程度從一般,次要,重要,緊急逐級上升。 | 一般 |
告警內容 | 用戶收到的告警信息。您可以使用Go template語法在告警內容中自定義告警參數變量。 | 命名空間:{{namespace}} / Pod: {{pod_name}} / 容器:{{container}} CPU使用率{{metrics_params_opt_label_value}} {{$metrics_params_value}}%, 當前值{{ printf "%.2f" $value }}% |
通知策略 | 不指定通知規則:若選擇此選項,當該告警規則被觸發產生告警事件后,告警信息僅僅會在告警事件頁面中展示出來。 指定某個通知策略:若選擇此項,Prometheus會自動在對應的告警規則加一條策略ID,告警事件會自動根據策略ID匹配策略內容,并發送告警到指定人。 | 不指定通知規則 |
高級設置 | ||
標簽 | 設置告警標簽,設置的標簽可用作規則靜默的選項。 | 無 |
參考以上參數配置說明,設置完成后,點擊保存。在Prometheus告警規則列表頁面,可查看當前告警規則的狀態。
通過自定義PromQL創建Prometheus告警規則
您可以使用自定義PromQL類型來創建告警規則,對靜態閾值中系統預設指標之外的指標進行監控,詳情請參考以下告警參數。
參數 | 說明 | 示例 |
告警名稱 | 告警的名稱。 | Pod的CPU使用率大于8% |
檢測類型 | 選擇自定義PromQL。 | 自定義PromQL |
Prometheus實例 | 選擇需要創建告警的Prometheus實例。 | - |
自定義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 |
數據預覽 | 數據預覽區域展示告警條件對應的PromQL語句,并以時序曲線的形式展示當前告警規則配置的監控指標的值。 | - |
持續時間 |
| - |
告警等級 | 自定義告警等級。告警嚴重程度從一般,次要,重要,緊急逐級上升。 | 一般 |
告警內容 | 用戶收到的告警信息。您可以使用Go template語法在告警內容中自定義告警參數變量。 | 命名空間:{{$labels.namespace}}/Pod: {{$labels.pod_name}}/磁盤設備:{{$labels.device}} 使用率超過90%,當前值{{ printf "%.2f" $value }}% |
通知策略 | 不指定通知規則:若選擇此選項,當該告警規則被觸發產生告警事件后,告警信息僅僅會在告警事件頁面中展示出來。 指定某個通知策略:若選擇此項,Prometheus會自動在對應的告警規則加一條策略ID,告警事件會自動根據策略ID匹配策略內容,并發送告警到指定人。 | 不指定通知規則 |
高級設置 | ||
標簽 | 設置告警標簽,設置的標簽可用作規則靜默的選項。 | 無 |
管理告警規則
針對Prometheus告警規則,包括靜態閾值、自定義PromQL告警,您可以對其進行編輯、啟動(告警狀態為已停止)、停止(告警狀態為運行中)、刪除、查看告警事件歷史的操作。