您可以通过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告警规则将会保留。
查看通过模板创建的告警规则
支持查看通过模板创建的告警规则。
在告警规则模板页面,点击目标告警规则模板右侧的更多-查看模板创建规则。
在界面中即可查看通过该模板创建的告警规则。