From 1a40395d35db76e1482bc32fb7a97e6a60c4b1dc Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Mon, 21 Jun 2021 00:23:51 +0200 Subject: promethues: initial support for alert rules --- roles/monitoring/prometheus/server/tasks/main.yml | 39 ++++++++++++++--------- 1 file changed, 24 insertions(+), 15 deletions(-) (limited to 'roles/monitoring/prometheus/server/tasks/main.yml') diff --git a/roles/monitoring/prometheus/server/tasks/main.yml b/roles/monitoring/prometheus/server/tasks/main.yml index 44f0800e..a70bd6fd 100644 --- a/roles/monitoring/prometheus/server/tasks/main.yml +++ b/roles/monitoring/prometheus/server/tasks/main.yml @@ -18,21 +18,6 @@ name: prom-server state: present -- name: create configuration directories - loop: - - jobs - - rules - - targets - file: - path: "/etc/prometheus/{{ item }}" - state: directory - -- name: create sub-directroy for all exporter types in jobs directory - loop: "{{ prometheus_server_jobs }}" - file: - path: "/etc/prometheus/jobs/{{ item }}" - state: directory - - name: add user for server user: name: prometheus @@ -50,6 +35,21 @@ - name: create TLS CA and certificates import_tasks: tls.yml +- name: create configuration directories + loop: + - jobs + - rules + - targets + file: + path: "/etc/prometheus/{{ item }}" + state: directory + +- name: create sub-directroy for all exporter types in jobs directory + loop: "{{ prometheus_server_jobs }}" + file: + path: "/etc/prometheus/jobs/{{ item }}" + state: directory + - name: generate targets config loop: "{{ prometheus_zone_targets }}" copy: @@ -68,10 +68,19 @@ path: "/etc/prometheus/jobs/{{ item.job }}/{{ item.target }}.yml" state: "{{ item.enabled | ternary('link', 'absent') }}" +- name: generate rules files for all jobs + loop: "{{ prometheus_server_jobs | union(['prometheus']) }}" + template: + src: rules.yml.j2 + dest: "/etc/prometheus/rules/{{ item }}.yml" + validate: "promtool check rules %s" + notify: reload prometheus + - name: generate configuration file template: src: prometheus.yml.j2 dest: /etc/prometheus/prometheus.yml + validate: "promtool check config %s" notify: reload prometheus - name: generate systemd service unit -- cgit v1.2.3