summaryrefslogtreecommitdiff
path: root/roles/monitoring/prometheus/server/filter_plugins/prometheus.py
diff options
context:
space:
mode:
Diffstat (limited to 'roles/monitoring/prometheus/server/filter_plugins/prometheus.py')
-rw-r--r--roles/monitoring/prometheus/server/filter_plugins/prometheus.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/roles/monitoring/prometheus/server/filter_plugins/prometheus.py b/roles/monitoring/prometheus/server/filter_plugins/prometheus.py
index 1443e837..d91ef619 100644
--- a/roles/monitoring/prometheus/server/filter_plugins/prometheus.py
+++ b/roles/monitoring/prometheus/server/filter_plugins/prometheus.py
@@ -11,10 +11,12 @@ def prometheus_job_targets(hostvars, jobs, targets):
result = []
for job in jobs:
for target in targets:
- special_config_varname = 'prometheus_job_' + job.replace('-', '_').replace('/', '__')
- if special_config_varname in hostvars[target]:
- for config in hostvars[target][special_config_varname]:
- result.append({'job': job, 'instance': config['instance'], 'config': config, 'enabled': True})
+ multitarget_config_varname = 'prometheus_job_multitarget_' + job.replace('-', '_').replace('/', '__')
+ if multitarget_config_varname in hostvars[target]:
+ for exporter_hostname, configs in hostvars[target][multitarget_config_varname].items():
+ for config in configs:
+ result.append({'job': job, 'instance': config['instance'], 'enabled': True,
+ 'exporter_hostname': exporter_hostname, 'config': config})
else:
enabled = job in hostvars[target]['prometheus_exporters_default'] or job in hostvars[target]['prometheus_exporters_extra']