global: resolve_timeout: 5m smtp_smarthost: 'smtp.gmail.com:587' smtp_from: 'alerts@mockupaws.com' smtp_auth_username: 'alerts@mockupaws.com' smtp_auth_password: '${SMTP_PASSWORD}' slack_api_url: '${SLACK_WEBHOOK_URL}' pagerduty_url: 'https://events.pagerduty.com/v2/enqueue' templates: - '/etc/alertmanager/*.tmpl' route: group_by: ['alertname', 'cluster', 'service'] group_wait: 30s group_interval: 5m repeat_interval: 12h receiver: 'default' routes: # Critical alerts go to PagerDuty immediately - match: severity: critical receiver: 'pagerduty-critical' continue: true # Warning alerts to Slack - match: severity: warning receiver: 'slack-warnings' continue: true # Database alerts - match_re: service: postgres|redis receiver: 'database-team' group_wait: 1m # Business hours only - match: severity: info receiver: 'email-info' active_time_intervals: - business_hours inhibit_rules: - source_match: severity: 'critical' target_match: severity: 'warning' equal: ['alertname', 'cluster', 'service'] receivers: - name: 'default' email_configs: - to: 'ops@mockupaws.com' subject: '[ALERT] {{ .GroupLabels.alertname }}' body: | {{ range .Alerts }} Alert: {{ .Annotations.summary }} Description: {{ .Annotations.description }} Severity: {{ .Labels.severity }} Time: {{ .StartsAt }} {{ end }} - name: 'pagerduty-critical' pagerduty_configs: - service_key: '${PAGERDUTY_SERVICE_KEY}' description: '{{ .GroupLabels.alertname }}' severity: '{{ .CommonLabels.severity }}' details: summary: '{{ .CommonAnnotations.summary }}' description: '{{ .CommonAnnotations.description }}' - name: 'slack-warnings' slack_configs: - channel: '#alerts' title: '{{ .GroupLabels.alertname }}' text: | {{ range .Alerts }} *Alert:* {{ .Annotations.summary }} *Description:* {{ .Annotations.description }} *Severity:* {{ .Labels.severity }} *Runbook:* {{ .Annotations.runbook_url }} {{ end }} send_resolved: true - name: 'database-team' slack_configs: - channel: '#database-alerts' title: 'Database Alert: {{ .GroupLabels.alertname }}' text: | {{ range .Alerts }} *Service:* {{ .Labels.service }} *Instance:* {{ .Labels.instance }} *Summary:* {{ .Annotations.summary }} {{ end }} email_configs: - to: 'dba@mockupaws.com' subject: '[DB ALERT] {{ .GroupLabels.alertname }}' - name: 'email-info' email_configs: - to: 'team@mockupaws.com' subject: '[INFO] {{ .GroupLabels.alertname }}' send_resolved: false time_intervals: - name: business_hours time_intervals: - times: - start_time: '09:00' end_time: '18:00' weekdays: ['monday', 'tuesday', 'wednesday', 'thursday', 'friday'] location: 'UTC'