Prometheus AlertManager配置自定义邮件模板(5续)

 本章是在上一篇文档的一个续篇

Prometheus使用alertmanager设置邮箱告警(5)-CSDN博客文章浏览阅读833次,点赞25次,收藏14次。Prometheus 会一直盯着我们设定的各种指标和数据,就好像是在站岗放哨。当这些指标的数据达到了我们事先规定的某个不太好的状态,比如服务器负载过高、某个服务出错等等,它就会发出警报。这些警报会被送到一个叫 Alertmanager 的地方,它就像是个“警报管理员”,会把这些警报整理好,按照我们要求的方式,比如发邮件、在系统里弹窗等,告诉相关的人,让大家知道出问题啦,需要赶紧去处理。这样我们就能及时发现和应对可能出现的各种状况。icon-default.png?t=O83Ahttps://blog.csdn.net/weixin_72819498/article/details/139062211

看到上边默认发送的邮件模板,虽然所有核心的信息已经包含了,但是一般人看起来很费劲,那么,AlertManager 也是支持自定义邮件模板配置的使邮件格式内容可以更优雅直观一些

注意:钉钉需要部署prometheus-webhook-dingtalk,这个也是支持模板的,但是模板要写在prometheus-webhook-dingtalk里,而不是alertmanager


项目链接:

https://github.com/timonwong/prometheus-webhook-dingtalk

通过配置templates参数,指定模板位置。

1.首先新建一个模板文件 email.tmpl

[root@prometheus ~]# mkdir -p /usr/local/prometheus/alertmanager/template/

[root@prometheus ~]# vim /usr/local/prometheus/alertmanager/template/email.tmpl

##需写发送方和接受方的邮箱号

{{ define "email.from" }}1374815945@qq.com{{ end }}

{{ define "email.to" }}13521707413@163.com{{ end }}

{{ define "email.to.html" }}

{{ range .Alerts }}

=========start==========<br>

告警程序: 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==========<br>

{{ end }}

{{ end }}

解释:

define: 定义模板名称
range: 循环遍历
index: 通过key取值

2.更改alertmanager主配增加模版

[root@prometheus ~]# vim /usr/local/prometheus/alertmanager/alertmanager.yml

global:
  resolve_timeout: 5m
  smtp_smarthost: 'smtp.qq.com:465'
  smtp_from: '1344435945@qq.com'
  smtp_auth_username: '1344435945@qq.com'
  smtp_auth_password: 'uajwyvyxlfsoidbh'
  smtp_require_tls: false
templates:
  - '/usr/local/prometheus/alertmanager/template/*.tmpl'
route:
  group_by: ['alertname']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 1h
  receiver: 'web.hook'
receivers:
  - name: 'web.hook'
    email_configs:
    - to: '{{ template "email.to" . }}'
      html: '{{ template "email.to.html" . }}'
      send_resolved: true
inhibit_rules:
  - source_match:
      severity: 'critical'
    target_match:
      severity: 'warning'
equal: ['alertname', 'dev', 'instance']

3.重启alertmanager使其生效

[root@prometheus ~]# systemctl restart alertmanager

[root@prometheus ~]# systemctl status alertmanager

查看状态是否正常,如果不正常则要仔细检查刚才修改处是否有误(yml格式比较严格多一个空格也不行)

4.触发告警查看新模版

相比于开头的告警消息这个模版还是比较清晰的,看起来一目了然

Prometheus告警邮件模板通常包含了告警的基本信息,如告警级别、触发告警的规则、相关实例和时间等。这些信息能够帮助接收者快速了解告警情况,并作出相应的处理。一个典型的Prometheus告警邮件模板可能包括以下内容: 1. 告警级别:表示告警的紧急程度,例如“警告”或“严重”。 2. 告警规则:描述触发告警的具体规则,包括规则名称、查询语句和期望的条件等。 3. 实例信息:列出触发告警的具体实例,包括实例名称、IP地址或其他标识。 4. 时间信息:提供告警触发的时间点,包括告警开始时间和持时长。 5. 相关指标数据:展示与告警相关的指标数据,帮助理解告警背后的情况。 一个简化的邮件模板示例如下: ``` 主题: [Prometheus] 高级告警触发 - [告警名称] 尊敬的运维团队, 有一项高级告警已经触发,请尽快查看并处理。以下是告警详细信息: 告警级别: [严重/警告/其它] 规则名称: [告警规则名称] 实例: [相关实例标识] 触发时间: [告警开始时间] 持时长: [告警持时间] 查询条件: [规则中的查询语句] 指标数据摘要: [相关的指标名称]: [指标值] [相关的指标名称]: [指标值] ... 请根据上述信息尽快定位问题原因,并执行必要的修复措施。 此致 敬礼! [发送者姓名] [发送者联系信息] ``` 实际使用时,根据具体需求和偏好,模板可以包含更多的自定义信息和格式化选项。Prometheus告警模块如Alertmanager支持自定义邮件模板,可以根据用户的需要来设置邮件主题、内容以及其他格式化选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值