From 5984697d98b5c953101aa8eef6c69db307d4a563 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sat, 28 Aug 2021 18:35:24 +0200 Subject: prometheus: add support special jobs (WIP) --- roles/monitoring/prometheus/server/tasks/main.yml | 31 +++++++++++++++-------- 1 file changed, 20 insertions(+), 11 deletions(-) (limited to 'roles/monitoring/prometheus/server/tasks') 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']) }}" -- cgit v1.2.3