File size: 1,793 Bytes
7c19d46 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | # =============================================================================
# Alertmanager — Routing & Escalation
# =============================================================================
apiVersion: monitoring.coreos.com/v1
kind: AlertmanagerConfig
metadata:
name: platform-routing
namespace: monitoring
spec:
route:
groupBy: [alertname, namespace, severity]
groupWait: 30s
groupInterval: 5m
repeatInterval: 4h
receiver: slack-platform
routes:
# Critical → Slack + PagerDuty
- match:
severity: critical
receiver: pagerduty
repeatInterval: 15m
continue: true
# Security → Security team channel
- match:
team: security
receiver: slack-security
repeatInterval: 30m
# App team alerts
- match:
team: app
receiver: slack-app-team
receivers:
- name: slack-platform
slackConfigs:
- apiURL:
name: slack-webhook
key: url
channel: "#platform-alerts"
title: "{{ .CommonAnnotations.summary }}"
text: "{{ range .Alerts }}{{ .Annotations.description }}\n{{ end }}"
- name: pagerduty
pagerDutyConfigs:
- routingKey:
name: pagerduty-key
key: routing-key
severity: "{{ .CommonLabels.severity }}"
- name: slack-security
slackConfigs:
- apiURL:
name: slack-webhook
key: url
channel: "#security-alerts"
title: "SECURITY: {{ .CommonAnnotations.summary }}"
- name: slack-app-team
slackConfigs:
- apiURL:
name: slack-webhook
key: url
channel: "#app-alerts"
title: "{{ .CommonAnnotations.summary }}"
|