Prometheus alertmanager告警收敛 搭建监控系统十(进阶篇)

时间:2021-04-22 15:28:48   收藏:0   阅读:131

告警收敛

Alertmanager收敛提供四种方式:


分组(group)

分组(group): 将类似性质的警报合并为单个通知

示例:假设MySQL A产生了一个报警,另外一台MySQL B,这台MySQL挂掉了,监控系统检测到IO线程和SQL也挂了。通过ID进行分组,不同的实例分配到不同的分组,最后运维将会收到两条告警消息,一条是关于MySQL A CPU过高的告警;另外一条是关于MySQL B挂掉的告警消息。

  group_by: [‘alertname‘]        # 以标签作为分组依据
  group_wait: 10s                # 分组报警等待时间
  group_interval: 10s            # 发送组告警间隔时间
  repeat_interval: 1h            # 重复告警发送间隔时间

抑制(inhibition)

抑制(inhibition): 当警报发出后,停止重复发送由此警报引发的其他警报,可以消除冗余告警

示例:假设MySQL服务器A上面运行着MySQL服务,当这台服务器突然宕机时候,这两条告警都会出来,但是你配置一条抑制规则,抑制掉MySQL的告警,最后收到服务器挂掉的告警。

inhibit_rules:
  - source_match:                # 当此告警发生,其他的告警被抑制
      severity: ‘critical‘   
    target_match:                # 被抑制的对象
      severity: ‘warning‘  
    equal: [‘id‘, ‘instance‘]

静默(silences)

静默(silences): 是一种简单的特定时间静音的机制

示例:假设要在MySQL A上面跑一个批处理任务,这个批处理任务消耗系统资源比较大,会触发这些告警。同时你的系统中还有一台MySQL B的服务器,这个是对外提供服务的,你不希望把它的报警给静默掉,所以可以配置一条静默规则,把MySQL A告警给静默掉,最后就收不到关于MySQL A的告警,同时其他服务不会被影响到。

# 静默在alertmanager的web界面silence里面配置。

- 选择 create silence 创建一个新的静默配置
- 在 start 与 end 中填写静默的时间段
- 在 name 中给 silence 取名
- 在 Value 中 填写需要静默的实例(例如172.16.214.141:9100)

# 配置完成后在静默的时间端就看不到此实例的报警了

延时(Delay)

系统发生故障产生告警,每分钟发送一条告警消息,这样的告警信息十分令人崩溃。Alertmanager提供第一个参数是repeat interval,可以将重复的告警以更大频率发送,但是只有这个参数会带来两个的问题。

原文:https://www.cnblogs.com/Atonement/p/14688897.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!