Prometheus
AlertManager Config
AlertManager routing, grouping, and receiver configuration.
alertmanager-config.yml
global:
resolve_timeout: 5m
smtp_smarthost: 'smtp.example.com:587'
smtp_from: 'alertmanager@example.com'
smtp_auth_username: 'alertmanager@example.com'
smtp_auth_password: 'changeme'
templates:
- '/etc/alertmanager/templates/*.tmpl'
route:
group_by: ['alertname', 'cluster', 'service']
group_wait: 30s
group_interval: 5m
repeat_interval: 4h
receiver: 'slack-default'
routes:
# Critical alerts → PagerDuty
- match:
severity: critical
receiver: pagerduty
continue: true
# Warnings → Slack
- match:
severity: warning
receiver: slack-default
receivers:
- name: 'slack-default'
slack_configs:
- api_url: 'https://hooks.slack.com/services/CHANGE/ME'
channel: '#alerts'
send_resolved: true
title: '{{ template "slack.title" . }}'
text: '{{ template "slack.text" . }}'
- name: 'pagerduty'
pagerduty_configs:
- service_key: 'YOUR_PAGERDUTY_SERVICE_KEY'
send_resolved: true
inhibit_rules:
# Suppress warning if critical is already firing for the same alertname+instance
- source_match:
severity: 'critical'
target_match:
severity: 'warning'
equal: ['alertname', 'instance']