summaryrefslogtreecommitdiffstats
path: root/roles/prometheus
diff options
context:
space:
mode:
authorAhmed Abdelhalim <[email protected]>2026-06-22 18:04:40 +0200
committerAhmed Abdelhalim <[email protected]>2026-06-22 18:04:40 +0200
commit1a7d06d83d41b343a48c181cb47c4c9974a5626a (patch)
tree6df05c0a11d41a419d261bcd8a052de19172c2f6 /roles/prometheus
parentded892e34378c3675717384decebbf87e3f70039 (diff)
Refactor installing grafana dashboards using URL only
Refactor prometheus extra scraping jobs
Diffstat (limited to 'roles/prometheus')
-rw-r--r--roles/prometheus/defaults/main.yml1
-rw-r--r--roles/prometheus/meta/argument_specs.yml5
-rw-r--r--roles/prometheus/templates/prometheus.yml.j28
3 files changed, 14 insertions, 0 deletions
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 %}