- 默认情况下Alertmanager使用了系统自带的默认通知模板,模板源码可以从https://github.com/prometheus/alertmanager/blob/master/template/default.tmpl获得。Alertmanager的通知模板基于Go的模板系统。
- Alertmanager也支持用户定义和使用自己的模板,一般来说有两种方式可以选择。第一种,基于模板字符串。用户可以直接在Alertmanager的配置文件中使用模板字符串, ```yaml 例如: receivers:
- name: ‘slack-notifications’
slack_configs:
- channel: ‘#alerts’
text: ‘https://internal.myorg.net/wiki/alerts/{{ .GroupLabels.app }}/{{ .GroupLabels.alertname }}’ ```
- channel: ‘#alerts’
- 第二种方式,自定义可复用的模板文件。
- 例如,可以创建自定义模板文件custom-template.tmpl,如下所示:
{{ define “slack.myorg.text” }}https://internal.myorg.net/wiki/alerts/{{ .GroupLabels.app }}/{{ .GroupLabels.alertname }}{{ end}}
- 通过在Alertmanager的全局设置中定义templates配置来指定自定义模板的访问路径:
templates:
[ -
- 在设置了自定义模板的访问路径后,用户则可以直接在配置中使用该模板:receivers: ```yaml
- name: ‘slack-notifications’
slack_configs: - channel: ‘#alerts’
text: ‘{{ template “slack.myorg.text” . }}’ templates:- ‘/etc/alertmanager/templates/myorg.tmpl’ ```