完整译文请访问:http://www.coderdocument.com/docs/prometheus/v2.14/prometheus/configuration/alerting_rules.html。
告警规则允许你基于Prometheus表达式语言的表达式定义告警条件,并向外部服务发送关于触发告警的通知。当告警表达式在给定的时间点上产生一个或多个失量元素时,告警将这些元素的标签集合视为活动的。
定义告警规则
在Prometheus中,告警规则的配置方式与记录规则相同。
带有告警的规则文件示例如下:
groups:
- name: example
rules:
- alert: HighRequestLatency
expr: job:request_latency_seconds:mean5m{job="myjob"} > 0.5
for: 10m
labels:
severity: page
annotations:
summary: High request latency
可选的for
子句导致Prometheus在第一次遇到新的表达式输出失量元素并将警告视为触发该元素之间等待一定的时间。在这种情况下,Prometheus将检查告警是否在每次评估期间持续激活10分钟,然后触发告警。处于活动状态但尚未触发的元素处于挂起状态。
labels
子句允许指定一组附加到的告警的标签。任何现有的冲突标签将被覆盖。可以对标签值进行模板化。
annotation
子句指定了一组信息标签,可用于存储更长时间的附加信息,如告警描述或runbook链接。可以对注解值进行模板化。
模板化
可以使用控制台模板对标签和注释的值进行模板化。$labels
变量保存告警实例的标签键/值对。可以通过$externalLabels
变量访问配置的外部标签。$value
变量保存告警实例的计算值。