add alertmanager
This commit is contained in:
parent
8050a7746b
commit
49b58ab6cd
@ -28,8 +28,8 @@ lxc: # keys must be unique, i.e. only one 'hosts' per group
|
||||
#prometheus.guaranteedstruggle.host:
|
||||
#pipisa.guaranteedstruggle.host:
|
||||
|
||||
|
||||
pg-tf.guaranteedstruggle.host:
|
||||
alertmanager.guaranteedstruggle.host:
|
||||
#pg-tf.guaranteedstruggle.host:
|
||||
# pg.just-for-me.internal:
|
||||
# grafana.just-for-me.internal:
|
||||
# price-loader.just-for-me.internal:
|
@ -67,9 +67,11 @@ lxc:
|
||||
|
||||
vault.guaranteedstruggle.host:
|
||||
prometheus.guaranteedstruggle.host:
|
||||
alertmanager.guaranteedstruggle.host:
|
||||
|
||||
pg-tf.guaranteedstruggle.host:
|
||||
|
||||
pg.just-for-me.internal:
|
||||
grafana.just-for-me.internal:
|
||||
price-loader.just-for-me.internal:
|
||||
№№№№
|
||||
# # pg.just-for-me.internal:
|
||||
# # grafana.just-for-me.internal:
|
||||
# # price-loader.just-for-me.internal:
|
||||
|
124
playbooks/software/alertmanager.yml
Normal file
124
playbooks/software/alertmanager.yml
Normal file
@ -0,0 +1,124 @@
|
||||
---
|
||||
- name: prom
|
||||
hosts:
|
||||
- alertmanager.guaranteedstruggle.host
|
||||
vars:
|
||||
alertmanager_version: '0.28.1'
|
||||
gather_facts: yes
|
||||
become: yes
|
||||
tasks:
|
||||
|
||||
- name: Ensure group "prometheus" exists
|
||||
ansible.builtin.group:
|
||||
name: prometheus
|
||||
state: present
|
||||
- name: Add user "prometheus"
|
||||
ansible.builtin.user:
|
||||
name: prometheus
|
||||
groups: prometheus
|
||||
shell: /sbin/nologin
|
||||
create_home: no
|
||||
append: yes
|
||||
comment: "prometheus nologin User"
|
||||
state: present
|
||||
|
||||
- name: Creates directory
|
||||
ansible.builtin.file:
|
||||
path: /etc/alertmanager
|
||||
state: directory
|
||||
group: prometheus
|
||||
owner: prometheus
|
||||
- name: Creates directory
|
||||
ansible.builtin.file:
|
||||
path: /usr/share/alertmanager
|
||||
state: directory
|
||||
group: prometheus
|
||||
owner: prometheus
|
||||
- name: Creates directory
|
||||
ansible.builtin.file:
|
||||
path: /etc/alertmanager/templates
|
||||
state: directory
|
||||
group: prometheus
|
||||
owner: prometheus
|
||||
|
||||
- name: Unarchive a file that needs to be downloaded (added in 2.0)
|
||||
ansible.builtin.unarchive:
|
||||
src: https://github.com/prometheus/alertmanager/releases/download/v{{alertmanager_version}}/alertmanager-{{alertmanager_version}}.linux-amd64.tar.gz
|
||||
dest: /usr/share/alertmanager
|
||||
creates: /usr/share/alertmanager/alertmanager-{{prom_version}}.linux-amd64
|
||||
remote_src: yes
|
||||
|
||||
|
||||
- name: Create a symbolic link
|
||||
ansible.builtin.file:
|
||||
src: /usr/share/alertmanager/alertmanager-{{alertmanager_version}}.linux-amd64/alertmanager
|
||||
dest: /usr/sbin/alertmanager
|
||||
owner: prometheus
|
||||
group: prometheus
|
||||
state: link
|
||||
notify:
|
||||
- restart alertmanager
|
||||
|
||||
- name: Create a symbolic link
|
||||
ansible.builtin.file:
|
||||
src: /usr/share/alertmanager/alertmanager-{{alertmanager_version}}.linux-amd64/amtool
|
||||
dest: /usr/sbin/amtool
|
||||
owner: prometheus
|
||||
group: prometheus
|
||||
state: link
|
||||
|
||||
- name: Copy alertmanager.yaml
|
||||
register: alertmanager_config_file
|
||||
copy:
|
||||
src: ../../files/alertmanager/alertmanager.yaml
|
||||
dest: /etc/alertmanager/alertmanager.yaml
|
||||
notify:
|
||||
- reload alertmanager
|
||||
- name: Copy template
|
||||
register: template_file
|
||||
copy:
|
||||
src: ../../files/alertmanager/simple_telegram.tmpl
|
||||
dest: /etc/alertmanager/templates/my.tmpl
|
||||
notify:
|
||||
- reload alertmanager
|
||||
- name: Copy prom web-config
|
||||
register: web_config_file
|
||||
copy:
|
||||
src: ../../files/prometheus/web-config.yaml
|
||||
dest: /etc/prometheus/web-config.yaml
|
||||
notify:
|
||||
- reload alertmanager
|
||||
|
||||
|
||||
- name: Copy alertmanager.service
|
||||
register: alertmanager_service_file
|
||||
copy:
|
||||
src: ../../files/alertmanager/alertmanager.service
|
||||
dest: /etc/systemd/system/alertmanager.service
|
||||
|
||||
|
||||
- name: ensure service
|
||||
ansible.builtin.systemd_service:
|
||||
name: alertmanager
|
||||
state: started
|
||||
enabled: true
|
||||
|
||||
|
||||
- name: Just force systemd to reread configs
|
||||
ansible.builtin.systemd_service:
|
||||
daemon_reload: true
|
||||
when: alertmanager_service_file.changed
|
||||
|
||||
|
||||
|
||||
handlers:
|
||||
- name: reload alertmanager
|
||||
ansible.builtin.systemd_service:
|
||||
name: alertmanager
|
||||
state: reloaded
|
||||
- name: restart alertmanager
|
||||
ansible.builtin.systemd_service:
|
||||
name: alertmanager
|
||||
state: restarted
|
||||
|
||||
#### TODO как откатывать неудачную проверку promtool'ом ?
|
Loading…
x
Reference in New Issue
Block a user