63 lines
1.8 KiB
YAML
63 lines
1.8 KiB
YAML
---
|
|
|
|
- name: Load variables
|
|
include_vars: "{{ ansible_os_family|lower }}.yml"
|
|
|
|
- name: Install Prometheus
|
|
tags: prometheus-install
|
|
ansible.builtin.package:
|
|
name: '{{ prometheus_package }}'
|
|
state: latest
|
|
|
|
- name: Add scrape configuration
|
|
tags: prometheus-scrape-configure
|
|
ansible.builtin.copy:
|
|
src: "{{ item.src }}"
|
|
dest: "/etc/prometheus/{{ item.dest }}"
|
|
loop:
|
|
- { src: '../templates/scrape-main.yml', dest: 'scrape-main.yml' }
|
|
- { src: '../templates/scrape-blackbox.yml', dest: 'scrape-blackbox.yml' }
|
|
notify:
|
|
- restart prometheus
|
|
|
|
- name: Create folder for rules definition
|
|
ansible.builtin.file:
|
|
path: /etc/prometheus/rules
|
|
state: directory
|
|
mode: 0755
|
|
|
|
- name: Add rules configuration
|
|
tags: alertmanager-rules-configure
|
|
ansible.builtin.copy:
|
|
src: "{{ item.src }}"
|
|
dest: "{{ alertmanager_rules }}/{{ item.dest }}"
|
|
loop:
|
|
- { src: '../templates/hosts.rules', dest: 'hosts.rules.yml' }
|
|
- { src: '../templates/prometheus.rules', dest: 'prometheus.rules.yml' }
|
|
- { src: '../templates/blackbox.rules', dest: 'blackbox.rules.yml' }
|
|
notify:
|
|
- restart prometheus
|
|
- restart alertmanager
|
|
|
|
- name: Enable Prometheus configuration
|
|
tags: prometheus-configure
|
|
ansible.builtin.template:
|
|
src: prometheus.config.j2
|
|
dest: '{{ prometheus_config }}'
|
|
validate: promtool check config %s
|
|
notify: restart prometheus
|
|
|
|
- name: Enable Prometheus service
|
|
tags: prometheus-enable
|
|
ansible.builtin.service:
|
|
name: '{{ prometheus_service }}'
|
|
state: started
|
|
enabled: yes
|
|
|
|
- name: Enable Alertmanager service
|
|
tags: alertmanager-enable
|
|
ansible.builtin.service:
|
|
name: '{{ alertmanager_service }}'
|
|
state: started
|
|
enabled: yes
|