Alertmanager配置中可以使用多个匹配子句,以匹配不同的告警规则。例如,以下示例配置文件中,有三个匹配子句:
route:
group_by: ['alertname']
group_wait: 30s
group_interval: 5m
repeat_interval: 12h
receiver: 'email'
routes:
- match:
severity: critical
receiver: 'pager'
- match:
severity: critical
service: api
receiver: 'slack'
- match_re:
service: ^(dev|test).*
receiver: 'email'
这个配置指定了三个匹配子句,一个是基于告警严重程度的匹配,另一个是基于服务的匹配,还有一个是正则表达式匹配服务名称。
如果有多个匹配配置,Alertmanager 会评估所有匹配子句并将告警路由到符合条件的接收器。如果没有匹配子句与告警匹配,则使用最后一个配置的接收器作为默认接收器。
因此,Alertmanager本身支持多个匹配子句,不需要采用其他方式或者特殊处理。