Alertmanager Slack silencing button

258 views
Skip to first unread message

kapturkie...@gmail.com

unread,
Jan 20, 2021, 10:20:41 AM1/20/21
to Prometheus Users
Hi,
I'm trying to add button to my Slack alert but I'm entirely sure how can I do this. Here is my test configuration:

alertmanagerFiles:
 alertmanager.yml:
   global:
     resolve_timeout: 30m

   receivers:
   - name: slack_webhook
     slack_configs:
     - channel: '#test'
       send_resolved: true
       api_url: https://hooks.slack.com/services/xyz
       username: Alertmanager
       title: |-
         [{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}{{ range .Alerts.Resolved }}{{ end }}] {{ .CommonLabels.alertname }}
       text: >-

         *Alert details*:

         {{ range .Alerts -}}
           *Alert:* {{ .Annotations.summary }}{{ if .Labels.severity }} - `{{ .Labels.severity }}`{{ end }}
         *Description:* {{ .Annotations.description }}

         *Details:*
           {{ if .Labels.alertname }} *{{ .Labels.alertname }}*{{"\n"}}{{ end }}
           {{- if .Labels.severity }} • Severity: `{{ .Labels.severity }}`{{"\n"}}{{ end }}
           {{- if .Labels.instance }} • Instance: `{{ .Labels.instance }}`{{"\n"}}{{ end }}
           {{- if .Labels.node }} • Node: `{{ .Labels.node }}`{{"\n"}}{{ end }}
           {{- if .Labels.pod }} • Pod: `{{ .Labels.pod }}`{{"\n"}}{{ end }}
           {{- if .Labels.namespace }} • Namespace: `{{ .Labels.namespace }}`{{"\n"}}{{ end }}
           {{- if .Labels.container }} • Container: `{{ .Labels.container }}`{{"\n"}}{{ end }}
           {{- if .Labels.job_name }} • Job: `{{ .Labels.job_name }}`{{"\n"}}{{ end }}
           {{- if .Labels.persistentvolumeclaim }} • PVC: `{{ .Labels.persistentvolumeclaim }}`{{"\n"}}{{ end }}
           {{- if .Labels.persistentvolume }} • PV: `{{ .Labels.persistentvolume }}`{{"\n"}}{{ end }}
         {{- end }}

         {{- if gt (len .Alerts.Resolved) 0 -}}
           *Resolved:*
           {{ range .Alerts.Resolved }}- {{ .Annotations.summary }}: {{ .Annotations.description }}
         {{- end }}
         {{- end }}

       actions:
         text: Silence for 1h
         type: button
         value: google.com

   route:
     receiver: slack_webhook
     group_wait: 10s
     group_interval: 5m
     repeat_interval: 10m


And the error from that is:

level=info ts=2021-01-20T15:08:34.991Z caller=main.go:231 msg="Starting Alertmanager" version="(version=0.20.0, branch=HEAD, revision=f74be0400a6243d10bb53812d6fa408ad71ff32d)"
level=info ts=2021-01-20T15:08:34.991Z caller=main.go:232 build_context="(go=go1.13.5, user=root@00c3106655f8, date=20191211-14:13:14)"
level=info ts=2021-01-20T15:08:34.995Z caller=cluster.go:623 component=cluster msg="Waiting for gossip to settle..." interval=2s
level=info ts=2021-01-20T15:08:35.091Z caller=coordinator.go:119 component=configuration msg="Loading configuration file" file=/etc/config/alertmanager.yml
level=error ts=2021-01-20T15:08:35.092Z caller=coordinator.go:124 component=configuration msg="Loading configuration file failed" file=/etc/config/alertmanager.yml err="yaml: unmarshal errors:\n  line 7: cannot unmarshal !!map into []*config.SlackAction"
level=info ts=2021-01-20T15:08:35.092Z caller=cluster.go:632 component=cluster msg="gossip not settled but continuing anyway" polls=0 elapsed=96.875407ms

Where I should put that test statement to get a button under the Slack message?
Reply all
Reply to author
Forward
0 new messages