Skip to content

Commit 28ccabf

Browse files
committed
make slack alertmanager receiver more configurable
1 parent 3bbb02f commit 28ccabf

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

ansible/roles/alertmanager/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ The following variables are templated into the alertmanager [main configuration]
7474
mappings to add, by default empty.
7575
- `alertmanager_slack_receiver`: Mapping defining the [Slack receiver](https://prometheus.io/docs/alerting/latest/configuration/#slack_config). Note the default configuration for this is in
7676
`environments/common/inventory/group_vars/all/alertmanager.yml`.
77+
- `alertmanager_slack_receiver_name`: String, name for the above Slack reciever.
78+
- `alertmanager_slack_receiver_send_resolved`: Bool, whether to send resolved alerts via the above Slack reciever.
7779
- `alertmanager_null_receiver`: Mapping defining a `null` [receiver](https://prometheus.io/docs/alerting/latest/configuration/#receiver) so a receiver is always defined.
7880
- `alertmanager_config_extra`: Mapping with additional configuration. Keys in
7981
this become top-level keys in the configuration. E.g this might be:

ansible/roles/alertmanager/defaults/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ alertmanager_receivers: "{{ alertmanager_default_receivers + alertmanager_extra
4444
alertmanager_config_default:
4545
route:
4646
group_by: ['...']
47-
receiver: "{{ 'slack-receiver' if alertmanager_slack_integration is defined else 'null' }}"
47+
receiver: "{{ alertmanager_slack_receiver_name if alertmanager_slack_integration is defined else 'null' }}"
4848
receivers: "{{ alertmanager_receivers }}"
4949

5050
alertmanager_config_extra: {} # top-level only
Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11

22
alertmanager_port: '9093' # defined here as required for prometheus
33

4+
alertmanager_slack_receiver_name: slack-receiver
5+
alertmanager_slack_receiver_send_resolved: true
46
alertmanager_slack_receiver: # defined here as needs prometheus address
5-
name: slack-receiver
7+
name: "{{ alertmanager_slack_receiver_name }}"
68
slack_configs:
79
- channel: "{{ alertmanager_slack_integration.channel | default('none') }}"
810
api_url: https://slack.com/api/chat.postMessage
911
http_config:
1012
authorization:
1113
credentials: "{{ alertmanager_slack_integration.app_creds | default('none') }}"
1214
text: "{{ '{{' }} .GroupLabels.alertname {{ '}}' }} : {{ '{{' }} .CommonAnnotations.description {{ '}}' }}"
13-
title_link: "{{ prometheus_web_external_url }}/alerts?receiver=slack-receiver"
14-
send_resolved: true
15+
title_link: "{{ prometheus_web_external_url }}/alerts?receiver={{ alertmanager_slack_receiver_name }}"
16+
send_resolved: "{{ alertmanager_slack_receiver_send_resolved }}"
1517

1618
alertmanager_web_external_url: "http://{{ hostvars[groups['alertmanager'].0].ansible_host }}:{{ alertmanager_port}}/"

0 commit comments

Comments
 (0)