Prometheus告警表达式结果标签能否用于annotation的描述与摘要字段
问题解答
完全可以在Prometheus告警的annotation中引用返回结果里的mode标签值。Prometheus告警规则的annotation和label都支持通过Go模板语法引用告警触发样本的标签、数值等信息。
具体实现方法
你只需要在需要插入标签值的位置使用{{ $labels.标签名 }}模板变量即可,针对你的需求,正确的配置示例如下:
annotations: description: event bucket of mode {{ $labels.mode }} are greater than 30, current 95th percentile value is {{ $value | printf "%.2f" }}. summary: Mode {{ $labels.mode }} event 95th percentile latency exceeds 30 threshold
补充说明
{{ $labels.mode }}会自动替换为当前告警条目对应的mode标签值,你示例里的两个ABC、XYZ触发告警时,会分别生成对应mode的通知内容- 你也可以通过
{{ $value }}变量引用本次告警触发的具体指标值,上面示例里加了printf "%.2f"是为了格式化数值保留2位小数,你可以根据需要调整 - 你的PromQL已经通过
by (le, mode)保留了mode标签,因此histogram_quantile计算后的结果天然携带mode标签,不需要额外调整查询语句就能直接使用该模板变量
内容的提问来源于stack exchange,提问作者Lokesh_K
相关产品推荐
相关产品推荐

