I'm trying to get alerts with different severities running. My problem is, that the alerts are always send to the default-receiver that is defined under "route". The child routes seem to be ignored...here is my config:
route:
# The labels by which incoming alerts are grouped together. For example,
# multiple alerts coming in for cluster=A and alertname=LatencyHigh would
# be batched into a single group.
group_by: ['alertname', 'instance', 'severity', 'job']
# When a new group of alerts is created by an incoming alert, wait at
# least 'group_wait' to send the initial notification.
# This way ensures that you get multiple alerts for the same group that start
# firing shortly after another are batched together on the first
# notification.
group_wait: 30s
# When the first notification was sent, wait 'group_interval' to send a batch
# of new alerts that started firing for that group.
group_interval: 5m
# If an alert has successfully been sent, wait 'repeat_interval' to
# resend them.
repeat_interval: 3h
# A default receiver
receiver: info-receiver
# All the above attributes are inherited by all child routes and can
# overwritten on each.
# The child route trees.
routes:
# The service has a sub-route for critical and warning alerts, any alerts
# that do not match, i.e. severity != critical and != warning, fall-back to the
# parent node and are sent to 'info-receiver'
- match:
severity: critical
job: prod
receiver: critical-prod-receiver
- match:
severity: critical
job: uat
receiver: critical-uat-receiver
- match:
severity: warning
receiver: warning-receiver
# Inhibition rules allow to mute a set of alerts given that another alert is
# firing.
# We use this to mute any warning-level notifications if the same alert is
# already critical.
inhibit_rules:
- source_match:
severity: 'critical'
target_match:
severity: 'warning'
# Apply inhibition if the alertname is the same.
equal: ['alertname', 'instance', 'severity', 'job']
receivers:
- name: 'critical-prod-receiver'
slack_configs:
- channel: '#alertmanager'
title: '{{ range .Alerts }} PROD, {{ Labels.severity }} {{ .Annotations.summary }} {{ end }}'
text: '{{ range .Alerts }}{{ .Annotations.description }} {{ end }}'
send_resolved: true
- name: 'critical-uat-receiver'
slack_configs:
- channel: '#alertmanager'
title: '{{ range .Alerts }} PROD, {{ Labels.severity }} {{ .Annotations.summary }} {{ end }}'
text: '{{ range .Alerts }}{{ .Annotations.description }} {{ end }}'
send_resolved: true
- name: 'warning-receiver'
slack_configs:
- channel: '#alertmanager'
title: '{{ range .Alerts }} WARNING, {{ Labels.severity }} {{ .Annotations.summary }} {{ end }}'
text: '{{ range .Alerts }} {{ .Annotations.description }} {{ end }}'
send_resolved: true
- name: 'info-receiver'
slack_configs:
- channel: '#alertmanager'
title: '{{ range .Alerts }} INFO, {{ Labels.severity }} {{ .Annotations.summary }} {{ end }}'
text: '{{ range .Alerts }}{{ .Annotations.description }} {{ end }}'
send_resolved: true
Also tried it just with the severity without the job label, didn't work either. Hopefully someone sees what I'm missing :)