Alertmanager 配置 163 邮箱
2023-12-12
Alertmanager 配置 163 邮箱
配置 163 邮箱
Alertmager 本身支持邮件告警,但是邮件告警需要获取邮箱的SMTP
相关信息,所以此时就需要邮件端提供这些信息,这里已163
邮箱为例:
需要邮箱端开启相关配置
配置 alertmanager
邮箱端开启相关配置后,在alertmanager
里配置邮件告警,首先在global
里配置SMTP
服务器信息
global:
# 告警超时时间
resolve_timeout: 5m
# 发送者邮箱地址
smtp_from: '185xxxxxxx@163.com'
# 邮箱smtp服务器地址及端口
smtp_smarthost: 'smtp.163.com:25'
# 发送者邮箱账号
smtp_auth_username: '185xxxxxxxx0@163.com'
# 发送者邮箱密码,这里填邮箱里的新增授权密码
smtp_auth_password: 'xxxxx'
# 是否使用tls
smtp_require_tls: false
smtp_hello: '163.com'
# 路由配置,设置报警的分发策略,它是一个树状结构,按照深度优先从左向右的顺序进行匹配。
在global
中配置了邮件服务器信息后,需要设置接收者
route:
group_by: ['alertname']
group_wait: 30s
group_interval: 5m
repeat_interval: 1h
# 路由里配置了告警信息发送给 email
receiver: 'email'
receivers:
# 接收者要与路由对应,填写接收者邮箱,之后告警此路由的告警就会发送给用户
- name: 'email'
email_configs:
- to: '542xxxxxx@qq.com'
alertmanager 配置 template
上述方法无法配置发送告警模板,可以专门创建一个文件夹存放模板文件,并且在alertmanager
声明使用此文件夹下模板
templates:
- 'templates/*.tmpl'
查看templates
文件夹下内容,发现内容可以选择变量形式体现
[root@localhost prometheus]# cat templates/email.tmpl
{{ define "email.html" }}
{{ range .Alerts }}
告警程序: prometheus_alert <br>
告警级别: {{ .Labels.severity }} 级 <br>
告警类型: {{ .Labels.alertname }} <br>
故障主机: {{ .Labels.instance }} <br>
告警主题: {{ .Annotations.summary }} <br>
告警详情: {{ .Annotations.description }} <br>
触发时间: {{ .StartsAt.Format "2019-08-04 16:58:15" }} <br>
{{ end }}
{{ end }}
配置alertmanager
使用此模板,在接收者中使用html
格式使用此模板
route:
group_by: ['alertname']
group_wait: 30s
group_interval: 5m
repeat_interval: 1h
receiver: 'email'
templates:
- 'templates/*.tmpl'
receivers:
- name: 'email'
email_configs:
- to: '542255405@qq.com'
html: '{{ template "email.html" . }}'
# 邮件主题信息
headers: {Subject: "[WARN] 报警邮件 {{ .CommonLabels.instance }} {{ .CommonAnnotations.summary }}"}