一、抵制机制

  1. Alertmanager的抑制机制可以避免当某种问题告警产生之后用户接收到大量由此问题导致的一系列的其它告警通知。例如当集群不可用时,用户可能只希望接收到一条告警,告诉他这时候集群出现了问题,而不是大量的如集群中的应用异常、中间件服务异常的告警通知。

    二、预定义抑制规则

  2. 在Alertmanager配置文件中,使用inhibit_rules定义一组告警的抑制规则:

inhibit_rules:
[ - … ]

  • 每一条抑制规则的具体配置如下:

target_match:
[ : , … ]
target_match_re:
[ : , … ]

source_match:
[ : , … ]
source_match_re:
[ : , … ]

[ equal: ‘[‘ , … ‘]’ ]

  1. 当已经发送的告警通知匹配到target_match和target_match_re规则,当有新的告警规则如果满足source_match或者定义的匹配规则,并且已发送的告警与新产生的告警中equal定义的标签完全相同,则启动抑制机制,新的告警不会发送。

    三、临时静默

  2. 直接通过Alertmanager的UI临时屏蔽特定的告警通知。通过定义标签的匹配规则(字符串或者正则表达式),如果新的告警通知满足静默规则的设置,则停止向receiver发送通知。

  3. 进入Alertmanager UI,点击”New Silence”显示如下内容:

image.png

  1. 定义新的静默规则的开始时间以及持续时间,通过Matchers部分可以设置多条匹配规则(字符串匹配或者正则匹配)。填写当前静默规则的创建者以及创建原因后,点击”Create”按钮即可。
  2. 通过”Preview Alerts”可以查看预览当前匹配规则匹配到的告警信息。静默规则创建成功后,Alertmanager会开始加载该规则并且设置状态为Pending,当规则生效后则进行到Active状态。