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

如何在Alertmanager中配置全局通用文本随所有Prometheus告警邮件发送?

解决方案

完全可以实现全局统一添加通用内容,不需要逐个修改告警规则,通过Alertmanager的自定义邮件模板功能即可实现,操作如下:

实现原理

Alertmanager支持通过自定义Go模板统一管理所有邮件通知的格式,你可以把通用的wiki链接、排查指引等内容固定放到模板的头部/尾部,所有发送的邮件都会自动携带该内容。

操作步骤(适配你当前的Helm部署配置)

你给出的配置是典型的Prometheus Operator Helm Chart的values.yaml结构,直接按如下修改即可:

  1. 新增templateFiles字段定义邮件模板,将通用内容写入模板固定位置
  2. 在alertmanager配置中添加模板加载路径
  3. 在email_configs中引用自定义模板

完整修改后的配置示例

# 新增:自定义邮件模板配置
templateFiles:
  email.tmpl: |
    {{ define "custom_email.html" }}
    <!-- 原有告警展示内容 -->
    {{ if .Alerts.Firing }}
    <h3>🚨 触发告警</h3>
    {{ range .Alerts.Firing }}
    <p>告警名称:{{ .Labels.alertname }}</p>
    <p>告警级别:{{ .Labels.severity }}</p>
    <p>触发集群:{{ .Labels.cluster }}</p>
    <p>告警描述:{{ .Annotations.description }}</p>
    <p>触发时间:{{ .StartsAt.Format "2006-01-02 15:04:05" }}</p>
    <hr>
    {{ end }}
    {{ end }}
    {{ if .Alerts.Resolved }}
    <h3>✅ 告警恢复</h3>
    {{ range .Alerts.Resolved }}
    <p>告警名称:{{ .Labels.alertname }}</p>
    <p>恢复时间:{{ .EndsAt.Format "2006-01-02 15:04:05" }}</p>
    <hr>
    {{ end }}
    {{ end }}
    <!-- 全局通用内容,统一在此处修改即可 -->
    <p>⚠️ 告警排查指引请参考内部Wiki:你自己的内部wiki地址</p>
    {{ end }}

alertmanagerFiles:
  alertmanager.yml:
    global:
      resolve_timeout: 5m
      smtp_smarthost: 'xxxxx:portnumber'
      smtp_from: 'email@domain.com'
      smtp_auth_username: 'xxxx'
      smtp_auth_password: 'xxxxx'
      smtp_require_tls: false
    # 新增:加载自定义模板
    templates:
      - '/etc/alertmanager/templates/email.tmpl'
    route:
      group_by: ['alertname', 'cluster', 'service']
      group_wait: 30s
      group_interval: 5m
      repeat_interval: 30m
      receiver: ops
    inhibit_rules:
    - source_match:
        severity: 'critical'
      target_match:
        severity: 'warning'
      equal: ['alertname', 'cluster', 'service']
    receivers:
      - name: 'ops'
        email_configs:
        - to: 'xxxxx'
          send_resolved: true
          # 新增:引用自定义邮件模板
          html: '{{ template "custom_email.html" . }}'
        - to: 'xxxxx'
          send_resolved: true
          html: '{{ template "custom_email.html" . }}'

验证方法

修改配置并更新Helm Release后,Alertmanager会自动加载新模板,你可以手动触发一条测试告警,确认邮件末尾已经自动带上了配置的通用内容。后续要调整通用内容,仅需要修改templateFiles中的模板即可,无需修改任何告警规则或接收器配置。

内容的提问来源于stack exchange,提问作者Manoj J

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 11:06:02