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:
|
#prometheus.guaranteedstruggle.host:
|
||||||
#pipisa.guaranteedstruggle.host:
|
#pipisa.guaranteedstruggle.host:
|
||||||
|
|
||||||
|
alertmanager.guaranteedstruggle.host:
|
||||||
pg-tf.guaranteedstruggle.host:
|
#pg-tf.guaranteedstruggle.host:
|
||||||
# pg.just-for-me.internal:
|
# pg.just-for-me.internal:
|
||||||
# grafana.just-for-me.internal:
|
# grafana.just-for-me.internal:
|
||||||
# price-loader.just-for-me.internal:
|
# price-loader.just-for-me.internal:
|
@ -67,9 +67,11 @@ lxc:
|
|||||||
|
|
||||||
vault.guaranteedstruggle.host:
|
vault.guaranteedstruggle.host:
|
||||||
prometheus.guaranteedstruggle.host:
|
prometheus.guaranteedstruggle.host:
|
||||||
|
alertmanager.guaranteedstruggle.host:
|
||||||
|
|
||||||
pg-tf.guaranteedstruggle.host:
|
pg-tf.guaranteedstruggle.host:
|
||||||
|
|
||||||
pg.just-for-me.internal:
|
№№№№
|
||||||
grafana.just-for-me.internal:
|
# # pg.just-for-me.internal:
|
||||||
price-loader.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