summaryrefslogtreecommitdiffstats
path: root/roles/prometheus
diff options
context:
space:
mode:
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 %}