...
If you want to receive notifications via Slack, you should be part of a Slack workspace. To set up alerting in your Slack workspace, you’re going to need a Slack API URL. Go to Slack -> Administration -> Manage apps. In the Manage apps directory, search for Incoming WebHooks and add it to your Slack workspace. Next, specify in which channel you’d like to receive notifications from Alertmanager. After you confirm and add Incoming WebHooks integration, webhook URL is displayed (copy it).
Section |
---|
Column |
---|
| Image Removed Image AddedManage Apps
|
Column |
---|
| Image ModifiedIncoming WebHooks
|
|
As seen above
Code Block |
---|
language | yml |
---|
title | AlertmanagerConfigSlack.yaml |
---|
collapse | true |
---|
|
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
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> |
...