AlertManager告警收敛(十一)

AlertManager告警收敛

1.告警分组

分组就是将类似性质的警报分类为单个通知,比如服务器宕机、应用挂掉,这种类型的告警可以分到一个组中,分到一个组时,当同一时间内触发了多条告警,这时都会发送到同一封邮件中,可以避免因告警邮件太多而忽视了重要信息。

这封邮件就很好的说明了这个分组的意义

由于prometheus编写的规则是对所有服务器生效的,因此所有服务器仅需要创建一个类型的报警即可,当同一时间段多台主机触发了这个告警,则会同时向管理员发送一条报警邮件,同种类型告警主要是以alertname来区分的
在这里插入图片描述

AlertManager分组语法

route:
group_by: [‘alertname’] //根据标签进行分组,alertname就是告警规则的名称,多个标签可以以逗号隔开
group_wait: 10s //发送告警等待时间,也就是一个时间范围内,如果有其他报警则一并发送
group_interval: 10s //当触发了一组告警后,下一组报警触发的间隔
repeat_interval: 10m //重复报警的时间间隔,也就是当触发了instancedown报警后,如果一直没有解决,那么再隔多长时间报警

2.告警抑制

抑制:当警报发出后,停止重复发送由此警报引发的其他警报

通过抑制可以避免运维收到大量的告警邮件,且都是同一个报警,只是级别不同,我们可以通过抑制限制当这个警报触发了严重级别的告警后,则不再触发警告级别的告警

配置语法:

inhibit_rules:
  - source_match:								
      severity: 'critical'						//匹配critical标签,先匹配了severity标签值为critical后,不再匹配target_match的条件
    target_match:
      severity: 'warning'
    equal: ['alertname', 'dev', 'instance']				//告警中包含的分组名称

3.告警静默

静默就是值在一段时间内不再触发某一个报警,集进入维护阶段

创建一个静默规则

访问AlertManager的9093端口

1.点击右上角的new silence

在这里插入图片描述

2.添加静默配置信息
在这里插入图片描述

3.这时再由docker报警触发后就不会发送邮件了

在这里插入图片描述

4.prometheus触发一条告警实现的流程

首先由prometheus系统进行监控,当一个监控项的阈值到达一定指标时,再由告警规则中配置的for持续时间进行判断,当在一定时间内都超过了阈值,则将报警推送给AlertManager,AlertManager收到报警后进行分组、抑制、静默,最后在通过我们配置的接收器,将报警发送给邮箱、微信、钉钉

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44953658/article/details/113777174