diff options
author | Christian Pointner <equinox@spreadspace.org> | 2021-09-26 03:32:47 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2021-09-26 03:32:47 +0200 |
commit | cc89d6d4211aa5aec8e5bef8c854d4929c337887 (patch) | |
tree | cfad00b79ed9b475cf50ec85ea18fded07efb99e /roles/monitoring/prometheus/server/filter_plugins/prometheus.py | |
parent | move away from exporter-exporter in favor for nginx (diff) |
improved promethues multitarget support
Diffstat (limited to 'roles/monitoring/prometheus/server/filter_plugins/prometheus.py')
-rw-r--r-- | roles/monitoring/prometheus/server/filter_plugins/prometheus.py | 10 |
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'] |