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 }}"