You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Prometheus Alertmanager 是否支持配置动态告警名称?

Alertmanager 能否设置动态告警名称?

你给出的配置方式不可行

核心原因

Prometheus 告警规则中的 alert 字段为告警规则的静态标识,不支持 Go 模板语法渲染,你写在该字段中的 {{ $labels.serviceName }} 变量不会被替换为实际的标签值,最终生成的告警名称会原样保留模板语法字符串,达不到动态生成的效果。

只有告警规则下的 labels(自定义标签)和 annotations 两个字段支持模板变量解析,可以正常读取标签、采样值等动态内容。

推荐实现方案

如果需要携带服务名这类动态标识,可以采用以下两种方式实现:

  • 把动态内容放到 annotations 字段中,比如你已经写的 summary 字段就可以正常渲染服务名变量,通知接收端直接取该字段内容作为告警展示名即可
  • 新增自定义标签承载动态名称,参考修正后的配置:
- alert: DependencyServiceUnhealthy
  expr: 100*avg_over_time(dependency_status{}[30m]) < 90
  for: 1m
  labels:
    severity: warning
    action: page
    pager: pagerDutyService
    # 自定义标签支持模板渲染,可存储动态名称
    dynamic_alert_name: "Dependency Status - {{ $labels.serviceName }} unhealthy"
  annotations:
    summary: "Dependency Unhealthy - Service: {{ $labels.serviceName }}"
    # 原配置嵌套双引号存在语法错误,外层改用单引号即可正常解析
    information: 'Dependency Status availability rate over 30m for service {{ $labels.serviceName }} at {{ $value }}%'

内容的提问来源于stack exchange,提问作者Ken Tsoi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 06:06:08