...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
apiVersion: monitoring.coreos.com/v1alpha1 kind: AlertmanagerConfig metadata: name: alert-slack namespace: monitoring labels: alertmanager: config spec: route: groupBy: [severity] receiver: 'slack-notifications' groupWait: 30s groupInterval: 5m repeatInterval: 12h receivers: - name: 'slack-notifications' slackConfigs: - channel: '<#channel>' apiURL: name: slack-pass key: alertmanager.yaml sendResolved: true # The following lines can be omitted, they have only an aesthetic value iconURL: 'https://avatars3.githubusercontent.com/u/3380462' title: |- [{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .CommonLabels.alertname }} for {{ .CommonLabels.job }} {{- if gt (len .CommonLabels) (len .GroupLabels) -}} {{" "}}( {{- with .CommonLabels.Remove .GroupLabels.Names }} {{- range $index, $label := .SortedPairs -}} {{ if $index }}, {{ end }} {{- $label.Name }}="{{ $label.Value -}}" {{- end }} {{- end -}} ) {{- end }} text: >- {{ range .Alerts -}} *Alert:* {{ .Annotations.title }}{{ if .Labels.severity }} - `{{ .Labels.severity }}`{{ end }} *Description:* {{ .Annotations.description }} *Details:* {{ range .Labels.SortedPairs }} • *{{ .Name }}:* `{{ .Value }}` {{ end }} {{ end }} --- apiVersion: v1 kind: Secret type: Opaque metadata: name: slack-pass namespace: monitoring data: alertmanager.yaml: <apiURL_encode_base64> |
If everything went smoothly (remember to always take a look at the logs of the Alertmanager-0
pod), you should get, in the chosen channel, a result similar to the following