Prometheus 监控服务 新建告警策略

这篇指导你在 Prometheus 监控服务控制台中创建告警策略,在某些指标发生异常时及时通知你采取措施。

相关产品
Prometheus 监控服务 产品页,含版本规格、价格与购买入口。

一、前提条件

·已创建 Prometheus 实例。

·已 关联集群 或已安装 集成中心 的数据集成。

二、操作步骤

详细的告警规则说明,请参见 告警规则说明。

1. 登录 Prometheus 监控服务控制台。

2. 在实例列表中,选择对应的 Prometheus 实例,单击顶部菜单栏的告警管理 ,进入告警策略页面。

3. 在告警策略页中单击新建告警策略,在弹框中配置告警策略信息。

4. 创建方式:有选择模板、页面编辑、YAML 编辑三种创建方式,下面以页面编辑示例。

·实例 ID/名称: 默认显示,无需填写。

·策略名称:自定义名称。

·规则:告警规则组,支持添加多个规则。

·规则名称:自定义名称。

·PromQL:可使用默认模板也可自定义,表示基于 PromQL 的表达式告警触发条件,用于计算是否有时间序列满足该条件。

·告警对象(Summary):允许用户自定义告警标题,支持通过 {{ $labels.<labelname> }} 变量访问当前告警实例中指定标签的值,详情请参见 模板说明。

·告警消息(Description):可使用默认模板也可自定义,允许用户自定义告警内容。支持通过 $labels.<labelname> 变量访问当前告警实例中指定标签的值,{{ $value }} 则可以获取当前 PromQL 表达式计算的样本值,详情请参见 模板说明。

·Labels:标签,可使用默认模板也可自定义,表示允许用户指定要附加到告警上的一组附加标签,可根据接收到告警的标签匹配相应的处理方式。

·Annotations:注释,可使用默认模板也可自定义,表示允许用户定义告警附加消息。

·持续时间:可使用默认模板也可自定义,表示当触发条件持续多少时间后才发送告警。

·收敛时间:默认每5分钟告警一次,你也可以自定义告警通知频率。

·告警渠道:可选择腾讯云告警渠道、webhook 告警渠道或自建 alertmanager 告警渠道。

·告警通知:支持自定义告警通知模板,包含模板名称、通知类型、接收对象接收渠道等,详情请参见 通知模板。

·保存当前告警策略为模板:支持将当前页面配置的告警策略内容保存为模板,后续可引用该模板快速创建告警。

三、模板说明

Prometheus 支持模板化 label 和 annotations 中标签的值,通过 {{ $labels.<labelname> }} 变量可以访问当前告警实例中指定标签的值,其中 labelname 为指定标签的名称。{{ $value }} 则可以获取当前 PromQL 表达式计算的样本值,可通过模板函数对 {{ $value }} 进行多种格式转换,以提升数值的可读性,以下是常见的转换方式及示例。

·基本数值格式化

{{ $value }} // 原始值(如 123.456){{ printf "%.2f" $value }} // 保留两位小数(如 123.46){{ printf "%.0f" $value }} // 取整(如 123){{ printf "%.1e" $value }} // 科学计数法(如 1.2e+02){{ printf "%.2f%%" $value }} // 转换为百分比(如 123.46%){{ $value | printf "%.2f%%" }} // 等价写法

·数据单位转换

// 字节单位(B, KB, MB, GB 等){{ $value | humanize1024 }} // 自动转换字节单位(如 1048576 → "1.0 MB"){{ $value | humanize1024 | printf "%.2f" }} // 保留两位小数(如 "1.00 MB")// 十进制单位(k, M, G 等){{ $value | humanize }} // 自动转换十进制单位(如 1000000 → "1.0 M")// 时间单位(s, ms, μs 等){{ $value | humanizeDuration }} // 自动转换时间单位(如 0.001 → "1 ms")// 百分比格式化转换{{ $value | humanizePercentage }} // 自动转换为百分比格式(如 0.12345 → "12.3%")

例如,某比率类指标取值范围为 [0,1],在告警内容中可使用 {{ $value | humanizePercentage }} 转换为百分比格式。如果某比率类指标取值范围为 [0,100],在告警内容中可使用 {{ printf "%.2f" $value }} 转换为保留两位小数的百分比格式。与此同时,如果指标包含一个名为 instance 的标签表示实例的 IP,在告警内容和告警对象中可使用 {{ $labels.instance }} 来获取标签的值。对应控制台中告警规则的配置如下:

收到的告警通知中,告警对象将附带触发告警的实例 IP,告警消息中将附带触发告警的实例 IP 和当前样本值,具体信息如下:

赞 (0)
上一篇 4天前
下一篇 4天前