Skip to content

Commit f187b67

Browse files
authored
Merge pull request #246 from stfc/change_alertmanager
ENH: Change alertmanager to install by apt
2 parents 4575122 + 244db86 commit f187b67

File tree

8 files changed

+61
-124
lines changed

8 files changed

+61
-124
lines changed
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
2-
- type: filestream
3-
id: alertmanager
4-
enabled: true
5-
paths:
6-
- /opt/alertmanager/alertmanager.log
7-
fields:
8-
service.name: alertmanager
9-
fields_under_root: true
2+
filebeat.inputs:
3+
- type: journald
4+
id: alertmanager
5+
include_matches.match:
6+
- _SYSTEMD_UNIT=prometheus-alertmanager.service
7+
fields:
8+
service.name: alertmanager
9+
fields_under_root: true

chatops_deployment/ansible/roles/alertmanager/files/alertmanager.service

Lines changed: 0 additions & 21 deletions
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ARGS="--web.config.file=/etc/prometheus/alertmanager-web.yml"

chatops_deployment/ansible/roles/alertmanager/handlers/main.yml

Lines changed: 0 additions & 24 deletions
This file was deleted.
Lines changed: 37 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,55 @@
11
---
2-
- name: Create alertmanager group
2+
- name: Install Alertmanager
33
become: true
4-
ansible.builtin.group:
5-
name: alertmanager
6-
state: present
7-
8-
- name: Add ubuntu to alertmanager group
9-
become: true
10-
ansible.builtin.user:
11-
name: ubuntu
12-
group: alertmanager
13-
14-
- name: Reset connection for group changes
15-
ansible.builtin.meta: reset_connection
16-
17-
- name: Create a alertmanager user
18-
become: true
19-
ansible.builtin.user:
20-
name: alertmanager
21-
create_home: false
22-
group: alertmanager
23-
system: true
24-
25-
- name: Download and extract Alertmanager
26-
become: true
27-
ansible.builtin.unarchive:
28-
src: " https://github.com/prometheus/alertmanager/releases/download/v{{ alertmanager_version }}/alertmanager-{{ alertmanager_version }}.linux-amd64.tar.gz "
29-
dest: /tmp
30-
remote_src: true
31-
creates: "/opt/alertmanager"
32-
mode: "0774"
33-
notify:
34-
- Move Alertmanager binaries
35-
- Start Alertmanager
36-
37-
- name: Copy alertmanager service file
38-
become: true
39-
ansible.builtin.copy:
40-
src: alertmanager.service
41-
dest: /etc/systemd/system/alertmanager.service
42-
owner: alertmanager
43-
group: alertmanager
44-
mode: "0774"
45-
notify:
46-
- Restart Alertmanager
4+
ansible.builtin.apt:
5+
name: prometheus-alertmanager
6+
state: latest # noqa: package-latest
477

488
- name: Template alertmanager config
499
become: true
5010
ansible.builtin.template:
5111
src: "{{ item }}"
52-
dest: "/opt/alertmanager/{{ item[:-3] }}"
53-
owner: alertmanager
54-
group: alertmanager
12+
dest: "/etc/prometheus/{{ item[:-3] }}"
13+
owner: prometheus
14+
group: prometheus
5515
mode: "0770"
56-
notify:
57-
- Restart Alertmanager
5816
loop:
5917
- alertmanager.yml.j2
60-
- web.yml.j2
18+
- alertmanager-web.yml.j2
6119

62-
- name: Create Alertmanager log directory
63-
ansible.builtin.file:
64-
path: /var/log/alertmanager
65-
state: directory
66-
owner: alertmanager
67-
group: alertmanager
68-
mode: "0770"
20+
- name: Copy systemd arguments
21+
become: true
22+
ansible.builtin.copy:
23+
src: prometheus-alertmanager
24+
dest: "/etc/default/prometheus-alertmanager"
25+
owner: prometheus
26+
group: prometheus
27+
mode: "0644"
28+
29+
- name: Copy certificate and key
30+
become: true
31+
ansible.builtin.copy:
32+
src: "./{{ env }}_ssl/alertmanager.{{ item }}"
33+
dest: "/etc/prometheus/alertmanager.{{ item }}"
34+
owner: prometheus
35+
group: prometheus
36+
mode: "0440"
37+
loop:
38+
- crt
39+
- key
40+
41+
- name: Restart Alertmanager
42+
become: true
43+
ansible.builtin.systemd_service:
44+
name: prometheus-alertmanager.service
45+
state: restarted
46+
daemon_reload: true
6947

7048
- name: Copy filebeat external config
7149
become: true
7250
ansible.builtin.copy:
7351
src: alertmanager.filebeat.yml
7452
dest: /var/filebeat/alertmanager.filebeat.yml
75-
owner: root
76-
group: root
53+
owner: prometheus
54+
group: prometheus
7755
mode: "0640"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
basic_auth_users:
2+
{{ alertmanager_username }}: {{ alertmanager_password | ansible.builtin.password_hash(hashtype="bcrypt") }}
3+
4+
tls_server_config:
5+
cert_file: /etc/prometheus/alertmanager.crt
6+
key_file: /etc/prometheus/alertmanager.key
Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
11
global:
22
resolve_timeout: 5m
3+
smtp_smarthost: ${{ alertmanager_smtp_mail_server }}
4+
smtp_from: [email protected]
5+
smtp_require_tls: false
36

47
route:
5-
receiver: 'webhook-receiver'
8+
receiver: 'email-receiver'
69
group_wait: 10s
7-
group_interval: 30s
10+
group_interval: 5m
811
repeat_interval: 3h
912
group_by: ['...']
1013

1114
receivers:
12-
- name: "webhook-receiver"
13-
webhook_configs:
14-
- url: "https://chatops.dev-cloud-chatops.nubes.rl.ac.uk/alerts" # Replace with your actual webhook URL
15-
send_resolved: true # Sends a notification when an alert is resolved
16-
http_config:
17-
authorization:
18-
type: "token"
19-
credentials: "{{ chatops_custom_api_token }}"
15+
- name: "email-receiver"
16+
email_configs:
17+
- send_resolved: false
18+

chatops_deployment/ansible/roles/alertmanager/templates/web.yml.j2

Lines changed: 0 additions & 2 deletions
This file was deleted.

0 commit comments

Comments
 (0)