diff options
author | Christian Pointner <equinox@spreadspace.org> | 2021-06-18 01:24:40 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2021-06-20 01:44:16 +0200 |
commit | 1e9d610bb87ce6f0cb1e5a8d44f09616f90273e2 (patch) | |
tree | 920a6fe55d573e56ebec67e853b3e1ecadded8ea /roles/monitoring/prometheus/server/filter_plugins/prometheus.py | |
parent | make prometheus exporter list groupvars (diff) |
prometheus enable/disable targets for jobs
Diffstat (limited to 'roles/monitoring/prometheus/server/filter_plugins/prometheus.py')
-rw-r--r-- | roles/monitoring/prometheus/server/filter_plugins/prometheus.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/roles/monitoring/prometheus/server/filter_plugins/prometheus.py b/roles/monitoring/prometheus/server/filter_plugins/prometheus.py new file mode 100644 index 00000000..81cfae70 --- /dev/null +++ b/roles/monitoring/prometheus/server/filter_plugins/prometheus.py @@ -0,0 +1,29 @@ +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +from functools import partial + +from ansible import errors + + +def prometheus_job_targets(hostvars, jobs, targets): + try: + result = [] + for job in jobs: + for target in targets: + enabled = job in hostvars[target]['prometheus_exporters_default'] or job in hostvars[target]['prometheus_exporters_extra'] + result.append({'job': job, 'target': target, 'enabled': enabled}) + return result + except Exception as e: + raise errors.AnsibleFilterError("prometheus_job_targets(): %s" % str(e)) + + +class FilterModule(object): + + ''' prometheus filters ''' + filter_map = { + 'prometheus_job_targets': prometheus_job_targets, + } + + def filters(self): + return self.filter_map |