summaryrefslogtreecommitdiff
path: root/roles/monitoring/prometheus/server/tasks
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2021-08-28 18:35:24 +0200
committerChristian Pointner <equinox@spreadspace.org>2021-08-28 18:35:24 +0200
commit5984697d98b5c953101aa8eef6c69db307d4a563 (patch)
treef5db17aeb140e9acb8e56b27167c2c8b7358a9f4 /roles/monitoring/prometheus/server/tasks
parentpromethues generic vs special jobs (diff)
prometheus: add support special jobs (WIP)
Diffstat (limited to 'roles/monitoring/prometheus/server/tasks')
-rw-r--r--roles/monitoring/prometheus/server/tasks/main.yml31
1 files changed, 20 insertions, 11 deletions
diff --git a/roles/monitoring/prometheus/server/tasks/main.yml b/roles/monitoring/prometheus/server/tasks/main.yml
index 1e25eb06..d0ccd8af 100644
--- a/roles/monitoring/prometheus/server/tasks/main.yml
+++ b/roles/monitoring/prometheus/server/tasks/main.yml
@@ -52,23 +52,32 @@
- name: generate generic targets config
loop: "{{ prometheus_zone_targets }}"
- copy:
- content: |
- - targets: [ "{{ hostvars[item].prometheus_scrape_endpoint }}" ]
- labels:
- instance: "{{ item }}"
- dest: "/etc/prometheus/targets/{{ item }}.yml"
+ loop_control:
+ loop_var: target
+ template:
+ src: targets/generic.yml.j2
+ dest: "/etc/prometheus/targets/{{ target }}.yml"
+ notify: reload prometheus
- name: enable targets for generic jobs
- loop: "{{ hostvars | prometheus_job_targets(prometheus_server_jobs_generic, prometheus_zone_targets) }}"
+ loop: "{{ hostvars | prometheus_generic_job_targets(prometheus_server_jobs_generic, prometheus_zone_targets) }}"
loop_control:
- label: "{{ item.job }} -> {{ item.target }}"
+ label: "{{ item.job }} -> {{ item.instance }}"
file:
- src: "{{ item.enabled | ternary('/etc/prometheus/targets/' + item.target + '.yml', omit) }}"
- path: "/etc/prometheus/jobs/{{ item.job }}/{{ item.target }}.yml"
+ src: "{{ item.enabled | ternary('/etc/prometheus/targets/' + item.instance + '.yml', omit) }}"
+ path: "/etc/prometheus/jobs/{{ item.job }}/{{ item.instance }}.yml"
state: "{{ item.enabled | ternary('link', 'absent') }}"
+ notify: reload prometheus
-## TODO: generate special target configs
+- name: enable targets for special jobs
+ loop: "{{ hostvars | prometheus_special_job_targets(prometheus_server_jobs_special, prometheus_zone_targets) }}"
+ loop_control:
+ loop_var: target
+ label: "{{ target.job }} -> {{ target.instance }}"
+ template:
+ src: "targets/{{ target.job }}.yml.j2"
+ dest: "/etc/prometheus/jobs/{{ target.job }}/{{ target.instance }}.yml"
+ notify: reload prometheus
- name: generate rules files for all jobs
loop: "{{ (prometheus_server_jobs_generic + prometheus_server_jobs_special) | union(['prometheus']) }}"