Files
ansible-docker/roles/alertmanager/templates/alertmanager.yml.j2
2023-12-21 01:33:54 +02:00

69 lines
2.3 KiB
Django/Jinja

---
# {{ ansible_managed }}
global:
# The smarthost and SMTP sender used for mail notifications.
{% if alertmanager_smtp_server | length > 0 %}
smtp_smarthost: '{{ alertmanager_smtp_server }}:587'
smtp_from: '{{ alertmanager_smtp_from }}'
{% if alertmanager_smtp_user | length > 0 %}
smtp_auth_username: '{{ alertmanager_smtp_user }}'
smtp_auth_password: '{{ alertmanager_smtp_pw }}'
{% endif %}
{% endif %}
# The directory from which notification templates are read.
templates:
- '/etc/alertmanager/template/*.tmpl'
# The root route on which each incoming alert enters.
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.
#
# To aggregate by all possible labels use '...' as the sole label name.
# This effectively disables aggregation entirely, passing through all
# alerts as-is. This is unlikely to be what you want, unless you have
# a very low alert volume or your upstream notification system performs
# its own grouping. Example: group_by: [...]
group_by: ['alertname', 'cluster', 'service']
# 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: uumas_email
# All the above attributes are inherited by all child routes and can
# overwritten on each.
# The child route trees.
routes: {{ alertmanager_routes }}
inhibit_rules:
- source_matchers: [severity="critical"]
target_matchers: [severity="warning"]
# Apply inhibition if the alertname is the same.
# CAUTION:
# If all label names listed in `equal` are missing
# from both the source and target alerts,
# the inhibition rule will apply!
equal: [alertname, cluster, service]
receivers: {{ alertmanager_receivers }}