Exercice 28

Écrire plusieurs alertes et les router différement selon leurs labels dans les receivers suivants :

Solution

show

#basic.rules:
groups:
- name: example
  rules:
  - alert: (PXX) Instance down
    expr: count(up == 0) >= 1
    for: 5s
    labels:
      severity: page
    annotations:
      summary: (PXX) Instance down
      description: >
        (PXX) Instance down {{ range query "up == 0" }}
        - {{ .Labels.instance }} - {{ .Labels.job }}
        {{ end }}
  - alert: (PXX) Instance down
    expr: count(up == 0) >= 1
    for: 5s
    labels:
      severity: pager
    annotations:
      summary: (P11) Instance down
      description: >
        (PXX) Instance down {{ range query "up == 0" }}
        - {{ .Labels.instance }} - {{ .Labels.job }}
        {{ end }}

#alertmanager.yml:
global:
  #

route:
  receiver: 'mattermost'
  repeat_interval: 10s
  group_interval: 10s
  group_wait: 10s
  routes:
  - match:
      severity: ticket
    receiver: mattermost-ticket
  - match:
      severity: info
    receiver: mattermost-info
  - match:
      severity: pager
    receiver: mattermost-pager


receivers:
- name: mattermost
  slack_configs:
  - api_url: "https://chat.datailor.fr/hooks/am7kpp6f8pnq8xat37pap8usqa"
    send_resolved: true
    title: "(AXX){{ range .Alerts }}{{ .Annotations.summary }}\\n{{ end }}"
    text: "(AXX){{ range .Alerts }}{{ .Annotations.description }}\\n{{ end }}"
- name: mattermost-pager
  slack_configs:
  - api_url: "https://chat.datailor.fr/hooks/bfyy41uny3y39pjmet46hnnijh"
    send_resolved: true
    title: "(AXX){{ range .Alerts }}{{ .Annotations.summary }}\\n{{ end }}"
    text: "(AXX){{ range .Alerts }}{{ .Annotations.description }}\\n{{ end }}"
- name: mattermost-ticket
  slack_configs:
  - api_url: "https://chat.datailor.fr/hooks/n73mdxdtq3fpd8r4x5zkmauaiy"
    send_resolved: true
    title: "(AXX){{ range .Alerts }}{{ .Annotations.summary }}\\n{{ end }}"
    text: "(AXX){{ range .Alerts }}{{ .Annotations.description }}\\n{{ end }}"
- name: mattermost-info
  slack_configs:
  - api_url: "https://chat.datailor.fr/hooks/otwsdx3a33df5ctc915hbn5xmc"
    send_resolved: true
    title: "(AXX){{ range .Alerts }}{{ .Annotations.summary }}\\n{{ end }}"
    text: "(AXX){{ range .Alerts }}{{ .Annotations.description }}\\n{{ end }}"