diff --git a/ansible/roles/prometheus/tasks/config.yml b/ansible/roles/prometheus/tasks/config.yml index f65b20bc76..ca2511b1f0 100644 --- a/ansible/roles/prometheus/tasks/config.yml +++ b/ansible/roles/prometheus/tasks/config.yml @@ -115,6 +115,32 @@ notify: - Restart prometheus-alertmanager container +- name: Find custom Alertmanager alert notification templates + find: + path: "{{ node_custom_config }}/prometheus/" + pattern: "*.tmpl" + run_once: True + delegate_to: localhost + register: alertmanager_notification_templates + when: + - enable_prometheus_alertmanager | bool + +- name: Copying over custom Alertmanager alert notification templates + become: true + vars: + service: "{{ prometheus_services['prometheus-alertmanager'] }}" + copy: + src: "{{ item.path }}" + dest: "{{ node_config_directory }}/prometheus-alertmanager/{{ item.path | basename }}" + mode: 0660 + when: + - inventory_hostname in groups[service.group] + - service.enabled | bool + - alertmanager_notification_templates is defined and alertmanager_notification_templates.files | length > 0 + with_items: "{{ alertmanager_notification_templates.files }}" + notify: + - Restart prometheus-alertmanager container + - name: Copying over my.cnf for mysqld_exporter become: true vars: diff --git a/ansible/roles/prometheus/templates/prometheus-alertmanager.json.j2 b/ansible/roles/prometheus/templates/prometheus-alertmanager.json.j2 index 562b910758..7453b5e453 100644 --- a/ansible/roles/prometheus/templates/prometheus-alertmanager.json.j2 +++ b/ansible/roles/prometheus/templates/prometheus-alertmanager.json.j2 @@ -6,6 +6,13 @@ "dest": "/etc/prometheus/alertmanager.yml", "owner": "prometheus", "perm": "0600" + }, + { + "source": "{{ container_config_directory }}/*.tmpl", + "dest": "/etc/prometheus/", + "optional": true, + "owner": "prometheus", + "perm": "0600" } ], "permissions": [ diff --git a/ansible/roles/prometheus/templates/prometheus-alertmanager.yml.j2 b/ansible/roles/prometheus/templates/prometheus-alertmanager.yml.j2 index 88c29ada63..f5fbe1d265 100644 --- a/ansible/roles/prometheus/templates/prometheus-alertmanager.yml.j2 +++ b/ansible/roles/prometheus/templates/prometheus-alertmanager.yml.j2 @@ -17,4 +17,5 @@ receivers: username: '{{ keystone_admin_user }}' password: '{{ keystone_admin_password }}' {% endif %} -templates: [] +templates: + - '/etc/prometheus/*.tmpl' diff --git a/releasenotes/notes/add-support-for-custom-alertmanager-notifications-27f5d0474f470512.yaml b/releasenotes/notes/add-support-for-custom-alertmanager-notifications-27f5d0474f470512.yaml new file mode 100644 index 0000000000..7c25f5c51f --- /dev/null +++ b/releasenotes/notes/add-support-for-custom-alertmanager-notifications-27f5d0474f470512.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Adds possibility for inlcuding custom alert notification templates with + Prometheus Alertmanager.