summaryrefslogtreecommitdiff
path: root/roles/monitoring/prometheus
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2023-02-07 00:26:47 +0100
committerChristian Pointner <equinox@spreadspace.org>2023-02-07 00:26:47 +0100
commita4aaa50f35d6d58a0ccf3e089622a6bc4d023899 (patch)
tree31155e34bb80b8d4fae1b0a9eca00be0f9e6684f /roles/monitoring/prometheus
parentprometheus targets: fix template generation (diff)
prometheus targets: cleanup and add support for target specific labels
Diffstat (limited to 'roles/monitoring/prometheus')
-rw-r--r--roles/monitoring/prometheus/exporter/register/defaults/main.yml6
-rw-r--r--roles/monitoring/prometheus/exporter/register/tasks/main.yml42
-rw-r--r--roles/monitoring/prometheus/exporter/register/templates/blackbox/probe.yml.j23
-rw-r--r--roles/monitoring/prometheus/exporter/register/templates/generic.yml.j23
-rw-r--r--roles/monitoring/prometheus/exporter/register/templates/ipmi/remote.yml.j23
-rw-r--r--roles/monitoring/prometheus/exporter/register/templates/nut/ups.yml.j23
-rw-r--r--roles/monitoring/prometheus/exporter/register/templates/snmp/probe.yml.j23
-rw-r--r--roles/monitoring/prometheus/exporter/register/templates/ssl/probe.yml.j23
8 files changed, 25 insertions, 41 deletions
diff --git a/roles/monitoring/prometheus/exporter/register/defaults/main.yml b/roles/monitoring/prometheus/exporter/register/defaults/main.yml
new file mode 100644
index 00000000..90e839ed
--- /dev/null
+++ b/roles/monitoring/prometheus/exporter/register/defaults/main.yml
@@ -0,0 +1,6 @@
+---
+prometheus_target_labels_default: {}
+# foo: bar
+
+prometheus_target_labels_extra: {}
+# blub: huhu
diff --git a/roles/monitoring/prometheus/exporter/register/tasks/main.yml b/roles/monitoring/prometheus/exporter/register/tasks/main.yml
index 5627add2..519975d6 100644
--- a/roles/monitoring/prometheus/exporter/register/tasks/main.yml
+++ b/roles/monitoring/prometheus/exporter/register/tasks/main.yml
@@ -1,48 +1,8 @@
---
-# - name: register simple targets
-# loop: "{{ prometheus_server_jobs | select('in', prometheus_exporters_default+prometheus_exporters_extra) }}"
-# delegate_to: "{{ prometheus_server }}"
-# template:
-# src: "{{ lookup('first_found', {'paths': ['templates'], 'files': [item + '.yml.j2', 'generic.yml.j2']}) }}"
-# dest: "/etc/prometheus/targets/{{ item }}/{{ inventory_hostname }}.yml"
-# notify: reload prometheus
-
-
-
-
-
-
-# result = []
-# for job in jobs:
-# multitarget_config_varname = 'prometheus_job_multitarget_' + job.replace('-', '_').replace('/', '__')
-# if multitarget_config_varname in vars:
-# for exporter_hostname, configs in vars[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 vars['prometheus_exporters_default'] or job in vars['prometheus_exporters_extra']
-# result.append({'job': job, 'instance': vars['inventory_hostname'], 'enabled': enabled})
-# return result
-
-# - loop: "{{ prometheus_server_jobs | replace('-', '_') | replace('/', '__') }}"
-# when: "('prometheus_job_multitarget_' + item) in vars"
-# vars:
-# blub: "{{ vars[item] }}"
-# debug:
-# var: blub
-
-
-# set_fact:
-# "prometheus_job_multitarget_{{ item }}": "{{ vars[item] }}"
-# prometheus_job_multitarget_blackbox__probe: "{{ prometheus_job_multitarget_blackbox__probe }}"
-# prometheus_job_multitarget_ssl__probe: "{{ prometheus_job_multitarget_ssl__probe }}"
-
-
- name: enable/disable job targets
vars:
job_targets: "{{ prometheus_server_jobs | prometheus_job_targets(hostvars[inventory_hostname]) }}"
+ prometheus_target_labels: "{{ prometheus_target_labels_default | combine(prometheus_target_labels_extra) }}"
block:
- name: install files for enabled targets
loop: "{{ job_targets | selectattr('enabled') }}"
diff --git a/roles/monitoring/prometheus/exporter/register/templates/blackbox/probe.yml.j2 b/roles/monitoring/prometheus/exporter/register/templates/blackbox/probe.yml.j2
index 47e6dceb..3ecf129a 100644
--- a/roles/monitoring/prometheus/exporter/register/templates/blackbox/probe.yml.j2
+++ b/roles/monitoring/prometheus/exporter/register/templates/blackbox/probe.yml.j2
@@ -3,3 +3,6 @@
instance: '{{ target.instance }}'
__param_target: '{{ target.config.target }}'
__param_module: '{{ target.config.module }}'
+{% for name, value in prometheus_target_labels.items() %}
+ {{ name }}: '{{ value }}'
+{% endfor %}
diff --git a/roles/monitoring/prometheus/exporter/register/templates/generic.yml.j2 b/roles/monitoring/prometheus/exporter/register/templates/generic.yml.j2
index 341cb45a..f269cf3a 100644
--- a/roles/monitoring/prometheus/exporter/register/templates/generic.yml.j2
+++ b/roles/monitoring/prometheus/exporter/register/templates/generic.yml.j2
@@ -1,3 +1,6 @@
- targets: [ '{{ (target.instance == prometheus_server) | ternary('127.0.0.1:9999', hostvars[target.instance].prometheus_scrape_endpoint) }}' ]
labels:
instance: '{{ target.instance }}'
+{% for name, value in prometheus_target_labels.items() %}
+ {{ name }}: '{{ value }}'
+{% endfor %}
diff --git a/roles/monitoring/prometheus/exporter/register/templates/ipmi/remote.yml.j2 b/roles/monitoring/prometheus/exporter/register/templates/ipmi/remote.yml.j2
index 47e6dceb..3ecf129a 100644
--- a/roles/monitoring/prometheus/exporter/register/templates/ipmi/remote.yml.j2
+++ b/roles/monitoring/prometheus/exporter/register/templates/ipmi/remote.yml.j2
@@ -3,3 +3,6 @@
instance: '{{ target.instance }}'
__param_target: '{{ target.config.target }}'
__param_module: '{{ target.config.module }}'
+{% for name, value in prometheus_target_labels.items() %}
+ {{ name }}: '{{ value }}'
+{% endfor %}
diff --git a/roles/monitoring/prometheus/exporter/register/templates/nut/ups.yml.j2 b/roles/monitoring/prometheus/exporter/register/templates/nut/ups.yml.j2
index a25cdfe5..5181f4e4 100644
--- a/roles/monitoring/prometheus/exporter/register/templates/nut/ups.yml.j2
+++ b/roles/monitoring/prometheus/exporter/register/templates/nut/ups.yml.j2
@@ -15,3 +15,6 @@
{% if 'statuses' in target.config %}
__param_statuses: '{{ target.config.statuses }}'
{% endif %}
+{% for name, value in prometheus_target_labels.items() %}
+ {{ name }}: '{{ value }}'
+{% endfor %}
diff --git a/roles/monitoring/prometheus/exporter/register/templates/snmp/probe.yml.j2 b/roles/monitoring/prometheus/exporter/register/templates/snmp/probe.yml.j2
index 47e6dceb..3ecf129a 100644
--- a/roles/monitoring/prometheus/exporter/register/templates/snmp/probe.yml.j2
+++ b/roles/monitoring/prometheus/exporter/register/templates/snmp/probe.yml.j2
@@ -3,3 +3,6 @@
instance: '{{ target.instance }}'
__param_target: '{{ target.config.target }}'
__param_module: '{{ target.config.module }}'
+{% for name, value in prometheus_target_labels.items() %}
+ {{ name }}: '{{ value }}'
+{% endfor %}
diff --git a/roles/monitoring/prometheus/exporter/register/templates/ssl/probe.yml.j2 b/roles/monitoring/prometheus/exporter/register/templates/ssl/probe.yml.j2
index 47e6dceb..3ecf129a 100644
--- a/roles/monitoring/prometheus/exporter/register/templates/ssl/probe.yml.j2
+++ b/roles/monitoring/prometheus/exporter/register/templates/ssl/probe.yml.j2
@@ -3,3 +3,6 @@
instance: '{{ target.instance }}'
__param_target: '{{ target.config.target }}'
__param_module: '{{ target.config.module }}'
+{% for name, value in prometheus_target_labels.items() %}
+ {{ name }}: '{{ value }}'
+{% endfor %}