Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
- type: filestream
id: alertmanager
enabled: true
paths:
- /opt/alertmanager/alertmanager.log
fields:
service.name: alertmanager
fields_under_root: true
filebeat.inputs:
- type: journald
id: alertmanager
include_matches.match:
- _SYSTEMD_UNIT=prometheus-alertmanager.service
fields:
service.name: alertmanager
fields_under_root: true

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ARGS="--web.config.file=/etc/prometheus/alertmanager-web.yml"
24 changes: 0 additions & 24 deletions chatops_deployment/ansible/roles/alertmanager/handlers/main.yml

This file was deleted.

96 changes: 37 additions & 59 deletions chatops_deployment/ansible/roles/alertmanager/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -1,77 +1,55 @@
---
- name: Create alertmanager group
- name: Install Alertmanager
become: true
ansible.builtin.group:
name: alertmanager
state: present

- name: Add ubuntu to alertmanager group
become: true
ansible.builtin.user:
name: ubuntu
group: alertmanager

- name: Reset connection for group changes
ansible.builtin.meta: reset_connection

- name: Create a alertmanager user
become: true
ansible.builtin.user:
name: alertmanager
create_home: false
group: alertmanager
system: true

- name: Download and extract Alertmanager
become: true
ansible.builtin.unarchive:
src: " https://github.com/prometheus/alertmanager/releases/download/v{{ alertmanager_version }}/alertmanager-{{ alertmanager_version }}.linux-amd64.tar.gz "
dest: /tmp
remote_src: true
creates: "/opt/alertmanager"
mode: "0774"
notify:
- Move Alertmanager binaries
- Start Alertmanager

- name: Copy alertmanager service file
become: true
ansible.builtin.copy:
src: alertmanager.service
dest: /etc/systemd/system/alertmanager.service
owner: alertmanager
group: alertmanager
mode: "0774"
notify:
- Restart Alertmanager
ansible.builtin.apt:
name: prometheus-alertmanager
state: latest # noqa: package-latest

- name: Template alertmanager config
become: true
ansible.builtin.template:
src: "{{ item }}"
dest: "/opt/alertmanager/{{ item[:-3] }}"
owner: alertmanager
group: alertmanager
dest: "/etc/prometheus/{{ item[:-3] }}"
owner: prometheus
group: prometheus
mode: "0770"
notify:
- Restart Alertmanager
loop:
- alertmanager.yml.j2
- web.yml.j2
- alertmanager-web.yml.j2

- name: Create Alertmanager log directory
ansible.builtin.file:
path: /var/log/alertmanager
state: directory
owner: alertmanager
group: alertmanager
mode: "0770"
- name: Copy systemd arguments
become: true
ansible.builtin.copy:
src: prometheus-alertmanager
dest: "/etc/default/prometheus-alertmanager"
owner: prometheus
group: prometheus
mode: "0644"

- name: Copy certificate and key
become: true
ansible.builtin.copy:
src: "./{{ env }}_ssl/alertmanager.{{ item }}"
dest: "/etc/prometheus/alertmanager.{{ item }}"
owner: prometheus
group: prometheus
mode: "0440"
loop:
- crt
- key

- name: Restart Alertmanager
become: true
ansible.builtin.systemd_service:
name: prometheus-alertmanager.service
state: restarted
daemon_reload: true

- name: Copy filebeat external config
become: true
ansible.builtin.copy:
src: alertmanager.filebeat.yml
dest: /var/filebeat/alertmanager.filebeat.yml
owner: root
group: root
owner: prometheus
group: prometheus
mode: "0640"
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
basic_auth_users:
{{ alertmanager_username }}: {{ alertmanager_password | ansible.builtin.password_hash(hashtype="bcrypt") }}

tls_server_config:
cert_file: /etc/prometheus/alertmanager.crt
key_file: /etc/prometheus/alertmanager.key
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
global:
resolve_timeout: 5m
smtp_smarthost: ${{ alertmanager_smtp_mail_server }}
smtp_from: [email protected]
smtp_require_tls: false

route:
receiver: 'webhook-receiver'
receiver: 'email-receiver'
group_wait: 10s
group_interval: 30s
group_interval: 5m
repeat_interval: 3h
group_by: ['...']

receivers:
- name: "webhook-receiver"
webhook_configs:
- url: "https://chatops.dev-cloud-chatops.nubes.rl.ac.uk/alerts" # Replace with your actual webhook URL
send_resolved: true # Sends a notification when an alert is resolved
http_config:
authorization:
type: "token"
credentials: "{{ chatops_custom_api_token }}"
- name: "email-receiver"
email_configs:
- send_resolved: false
to: "[email protected]"

This file was deleted.

Loading