From 1a7d06d83d41b343a48c181cb47c4c9974a5626a Mon Sep 17 00:00:00 2001 From: Ahmed Abdelhalim Date: Mon, 22 Jun 2026 18:04:40 +0200 Subject: Refactor installing grafana dashboards using URL only Refactor prometheus extra scraping jobs --- roles/prometheus/defaults/main.yml | 1 + roles/prometheus/meta/argument_specs.yml | 5 +++++ roles/prometheus/templates/prometheus.yml.j2 | 8 ++++++++ 3 files changed, 14 insertions(+) (limited to 'roles/prometheus') diff --git a/roles/prometheus/defaults/main.yml b/roles/prometheus/defaults/main.yml index cd91dee6..61c383ed 100644 --- a/roles/prometheus/defaults/main.yml +++ b/roles/prometheus/defaults/main.yml @@ -9,3 +9,4 @@ prometheus_targets: prometheus_node_exporter_targets: [] prometheus_hostname: "metrics.home.arpa" +prometheus_extra_scrape_configs: [] diff --git a/roles/prometheus/meta/argument_specs.yml b/roles/prometheus/meta/argument_specs.yml index 5f908119..11beae38 100644 --- a/roles/prometheus/meta/argument_specs.yml +++ b/roles/prometheus/meta/argument_specs.yml @@ -32,3 +32,8 @@ argument_specs: type: "str" description: "FQDN for the prometheus nginx vhost (e.g. 'metrics.home.arpa')." default: "metrics.home.arpa" + prometheus_extra_scrape_configs: + description: "Additional Prometheus scrape jobs" + type: "list" + elements: "dict" + default: [] diff --git a/roles/prometheus/templates/prometheus.yml.j2 b/roles/prometheus/templates/prometheus.yml.j2 index c43864ea..f7f2ae24 100644 --- a/roles/prometheus/templates/prometheus.yml.j2 +++ b/roles/prometheus/templates/prometheus.yml.j2 @@ -15,3 +15,11 @@ scrape_configs: - targets: {{ prometheus_node_exporter_targets | to_yaml }} scrape_interval: {{ prometheus_scrape_interval }} metrics_path: /metrics +{% for job in prometheus_extra_scrape_configs %} + + - job_name: '{{ job.name }}' + static_configs: + - targets: {{ job.targets | to_yaml }} + scrape_interval: {{ job.scrape_interval | default(prometheus_scrape_interval) }} + metrics_path: {{ job.metrics_path | default('/metrics') }} +{% endfor %} -- cgit v1.2.3