首页/云/可观测性速查/通知模板:define、range 与常用字段
本包目录(282 条)
监控体系与方法40 条Prometheus 与采集64 条Grafana 与看板53 条日志平台52 条链路追踪23 条
告警与响应50 条

通知模板:define、range 与常用字段

通知文案用 Go 模板渲染:模板文件 define 命名块,receiver 的 title/text 引用;遍历 .Alerts 输出明细,.CommonLabels 提供公共维度。与规则里 annotations 的模板是两层不同机制。

可观测性速查云更新于 2026-10-12

模板文件与引用

模板文件与引用
# alertmanager.yml
templates:
  - /etc/alertmanager/templates/*.tmpl
receivers:
  - name: im
    webhook_configs:
      - url: http://127.0.0.1:8060/relay
        send_resolved: true

# templates/msg.tmpl
{{ define "im.title" }}[{{ .Status | toUpper }}] {{ .CommonLabels.alertname }}{{ end }}
{{ define "im.text" }}{{ range .Alerts -}}
- {{ .Labels.instance }} 当前值 {{ .Annotations.summary }}
{{ end }}共 {{ .Alerts | len }} 条{{ end }}
常用对象.Status、.Alerts、.GroupLabels、.CommonLabels、.ExternalURL
常用函数join、toUpper、toLower、title、reReplaceAll、humanizeTimestamp
改完模板需重载或重启 Alertmanager 才生效;块名被引用成不存在的名字时通知会渲染为空。

易错点

  • 模板在容器镜像内被覆盖重建,须挂载到持久路径否则重部署即丢失
  • 删除通知里的实例列表后信息量骤减,值班要再点看板才能定位

数据来源与参考

  • Alertmanager 文档 · Notification template reference
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌