本文指导您在 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 和当前样本值,具体信息如下:
