summaryrefslogtreecommitdiff
path: root/roles/monitoring/prometheus/target/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/monitoring/prometheus/target/tasks/main.yml')
-rw-r--r--roles/monitoring/prometheus/target/tasks/main.yml26
1 files changed, 26 insertions, 0 deletions
diff --git a/roles/monitoring/prometheus/target/tasks/main.yml b/roles/monitoring/prometheus/target/tasks/main.yml
new file mode 100644
index 00000000..69ea94f2
--- /dev/null
+++ b/roles/monitoring/prometheus/target/tasks/main.yml
@@ -0,0 +1,26 @@
+---
+- name: enable/disable job targets
+ vars:
+ job_targets: "{{ vars | prometheus_job_targets(prometheus_server_jobs) }}"
+ block:
+ - name: install files for enabled targets
+ loop: "{{ job_targets | selectattr('enabled') }}"
+ loop_control:
+ loop_var: target
+ label: "{{ target.job }} -> {{ target.instance }}"
+ delegate_to: "{{ prometheus_server }}"
+ template:
+ src: "{{ lookup('first_found', {'paths': ['templates'], 'files': [target.job + '.yml.j2', 'generic.yml.j2']}) }}"
+ dest: "/etc/prometheus/targets/{{ target.job }}/{{ target.instance }}.yml"
+ notify: reload prometheus
+
+ - name: remove files for disabled targets
+ loop: "{{ job_targets | rejectattr('enabled') }}"
+ loop_control:
+ loop_var: target
+ label: "{{ target.job }} -> {{ target.instance }}"
+ delegate_to: "{{ prometheus_server }}"
+ file:
+ path: "/etc/prometheus/targets/{{ target.job }}/{{ target.instance }}.yml"
+ state: absent
+ notify: reload prometheus