summaryrefslogtreecommitdiff
path: root/roles/monitoring/prometheus/server
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2021-09-23 16:50:24 +0200
committerChristian Pointner <equinox@spreadspace.org>2021-09-23 16:50:24 +0200
commitef4432c51bacb5b92c03a42cb1ea7f9d837ec8b6 (patch)
treeffd0fc43be052f9c4b6848f2c7bccd3e0b1aa71f /roles/monitoring/prometheus/server
parentmove exporter_exporter configuration into canonical config dir (diff)
use / as spereator for jobs formerly known as special
Diffstat (limited to 'roles/monitoring/prometheus/server')
-rw-r--r--roles/monitoring/prometheus/server/defaults/main/main.yml8
-rw-r--r--roles/monitoring/prometheus/server/defaults/main/rules_blackbox-https.yml3
-rw-r--r--roles/monitoring/prometheus/server/defaults/main/rules_blackbox-ping.yml3
-rw-r--r--roles/monitoring/prometheus/server/defaults/main/rules_blackbox-ssh.yml3
-rw-r--r--roles/monitoring/prometheus/server/defaults/main/rules_blackbox__https.yml3
-rw-r--r--roles/monitoring/prometheus/server/defaults/main/rules_blackbox__ping.yml3
-rw-r--r--roles/monitoring/prometheus/server/defaults/main/rules_blackbox__ssh.yml3
-rw-r--r--roles/monitoring/prometheus/server/defaults/main/rules_nut-ups.yml3
-rw-r--r--roles/monitoring/prometheus/server/defaults/main/rules_nut__ups.yml3
-rw-r--r--roles/monitoring/prometheus/server/filter_plugins/prometheus.py2
-rw-r--r--roles/monitoring/prometheus/server/tasks/main.yml8
-rw-r--r--roles/monitoring/prometheus/server/templates/job-snippets/blackbox/https.j2 (renamed from roles/monitoring/prometheus/server/templates/job-snippets/blackbox-https.j2)0
-rw-r--r--roles/monitoring/prometheus/server/templates/job-snippets/blackbox/ping.j2 (renamed from roles/monitoring/prometheus/server/templates/job-snippets/blackbox-ping.j2)0
-rw-r--r--roles/monitoring/prometheus/server/templates/job-snippets/blackbox/ssh.j2 (renamed from roles/monitoring/prometheus/server/templates/job-snippets/blackbox-ssh.j2)0
-rw-r--r--roles/monitoring/prometheus/server/templates/job-snippets/nut/ups.j2 (renamed from roles/monitoring/prometheus/server/templates/job-snippets/nut-ups.j2)0
-rw-r--r--roles/monitoring/prometheus/server/templates/prometheus.yml.j25
-rw-r--r--roles/monitoring/prometheus/server/templates/targets/blackbox/https.yml.j2 (renamed from roles/monitoring/prometheus/server/templates/targets/blackbox-https.yml.j2)2
-rw-r--r--roles/monitoring/prometheus/server/templates/targets/blackbox/ping.yml.j2 (renamed from roles/monitoring/prometheus/server/templates/targets/blackbox-ping.yml.j2)2
-rw-r--r--roles/monitoring/prometheus/server/templates/targets/blackbox/ssh.yml.j2 (renamed from roles/monitoring/prometheus/server/templates/targets/blackbox-ssh.yml.j2)2
-rw-r--r--roles/monitoring/prometheus/server/templates/targets/nut/ups.yml.j2 (renamed from roles/monitoring/prometheus/server/templates/targets/nut-ups.yml.j2)12
20 files changed, 37 insertions, 28 deletions
diff --git a/roles/monitoring/prometheus/server/defaults/main/main.yml b/roles/monitoring/prometheus/server/defaults/main/main.yml
index 5be3ecd3..bae0cdba 100644
--- a/roles/monitoring/prometheus/server/defaults/main/main.yml
+++ b/roles/monitoring/prometheus/server/defaults/main/main.yml
@@ -14,10 +14,10 @@ prometheus_server_rules:
prometheus: "{{ prometheus_server_rules_prometheus + ((prometheus_server_alertmanager is defined) | ternary(prometheus_server_rules_prometheus_alertmanager, [])) + prometheus_server_rules_prometheus_extra }}"
node: "{{ prometheus_server_rules_node + prometheus_server_rules_node_extra }}"
openwrt: "{{ prometheus_server_rules_openwrt + prometheus_server_rules_node_extra }}"
- "nut-ups": "{{ prometheus_server_rules_nut_ups + prometheus_server_rules_nut_ups_extra }}"
- "blackbox-ping": "{{ prometheus_server_rules_blackbox_ping + prometheus_server_rules_blackbox_ping_extra }}"
- "blackbox-https": "{{ prometheus_server_rules_blackbox_https + prometheus_server_rules_blackbox_https_extra }}"
- "blackbox-ssh": "{{ prometheus_server_rules_blackbox_ssh + prometheus_server_rules_blackbox_ssh_extra }}"
+ nut/ups: "{{ prometheus_server_rules_nut__ups + prometheus_server_rules_nut__ups_extra }}"
+ blackbox/ping: "{{ prometheus_server_rules_blackbox__ping + prometheus_server_rules_blackbox__ping_extra }}"
+ blackbox/https: "{{ prometheus_server_rules_blackbox__https + prometheus_server_rules_blackbox__https_extra }}"
+ blackbox/ssh: "{{ prometheus_server_rules_blackbox__ssh + prometheus_server_rules_blackbox__ssh_extra }}"
# prometheus_server_alertmanager:
# url: "127.0.0.1:9093"
diff --git a/roles/monitoring/prometheus/server/defaults/main/rules_blackbox-https.yml b/roles/monitoring/prometheus/server/defaults/main/rules_blackbox-https.yml
deleted file mode 100644
index bb806075..00000000
--- a/roles/monitoring/prometheus/server/defaults/main/rules_blackbox-https.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-prometheus_server_rules_blackbox_https_extra: []
-prometheus_server_rules_blackbox_https: []
diff --git a/roles/monitoring/prometheus/server/defaults/main/rules_blackbox-ping.yml b/roles/monitoring/prometheus/server/defaults/main/rules_blackbox-ping.yml
deleted file mode 100644
index 56c122f5..00000000
--- a/roles/monitoring/prometheus/server/defaults/main/rules_blackbox-ping.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-prometheus_server_rules_blackbox_ping_extra: []
-prometheus_server_rules_blackbox_ping: []
diff --git a/roles/monitoring/prometheus/server/defaults/main/rules_blackbox-ssh.yml b/roles/monitoring/prometheus/server/defaults/main/rules_blackbox-ssh.yml
deleted file mode 100644
index 727d2292..00000000
--- a/roles/monitoring/prometheus/server/defaults/main/rules_blackbox-ssh.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-prometheus_server_rules_blackbox_ssh_extra: []
-prometheus_server_rules_blackbox_ssh: []
diff --git a/roles/monitoring/prometheus/server/defaults/main/rules_blackbox__https.yml b/roles/monitoring/prometheus/server/defaults/main/rules_blackbox__https.yml
new file mode 100644
index 00000000..cfdc10bd
--- /dev/null
+++ b/roles/monitoring/prometheus/server/defaults/main/rules_blackbox__https.yml
@@ -0,0 +1,3 @@
+---
+prometheus_server_rules_blackbox__https_extra: []
+prometheus_server_rules_blackbox__https: []
diff --git a/roles/monitoring/prometheus/server/defaults/main/rules_blackbox__ping.yml b/roles/monitoring/prometheus/server/defaults/main/rules_blackbox__ping.yml
new file mode 100644
index 00000000..06ce8607
--- /dev/null
+++ b/roles/monitoring/prometheus/server/defaults/main/rules_blackbox__ping.yml
@@ -0,0 +1,3 @@
+---
+prometheus_server_rules_blackbox__ping_extra: []
+prometheus_server_rules_blackbox__ping: []
diff --git a/roles/monitoring/prometheus/server/defaults/main/rules_blackbox__ssh.yml b/roles/monitoring/prometheus/server/defaults/main/rules_blackbox__ssh.yml
new file mode 100644
index 00000000..8e717c41
--- /dev/null
+++ b/roles/monitoring/prometheus/server/defaults/main/rules_blackbox__ssh.yml
@@ -0,0 +1,3 @@
+---
+prometheus_server_rules_blackbox__ssh_extra: []
+prometheus_server_rules_blackbox__ssh: []
diff --git a/roles/monitoring/prometheus/server/defaults/main/rules_nut-ups.yml b/roles/monitoring/prometheus/server/defaults/main/rules_nut-ups.yml
deleted file mode 100644
index 842007b4..00000000
--- a/roles/monitoring/prometheus/server/defaults/main/rules_nut-ups.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-prometheus_server_rules_nut_ups_extra: []
-prometheus_server_rules_nut_ups: []
diff --git a/roles/monitoring/prometheus/server/defaults/main/rules_nut__ups.yml b/roles/monitoring/prometheus/server/defaults/main/rules_nut__ups.yml
new file mode 100644
index 00000000..bccb0ca8
--- /dev/null
+++ b/roles/monitoring/prometheus/server/defaults/main/rules_nut__ups.yml
@@ -0,0 +1,3 @@
+---
+prometheus_server_rules_nut__ups_extra: []
+prometheus_server_rules_nut__ups: []
diff --git a/roles/monitoring/prometheus/server/filter_plugins/prometheus.py b/roles/monitoring/prometheus/server/filter_plugins/prometheus.py
index 056d216f..1443e837 100644
--- a/roles/monitoring/prometheus/server/filter_plugins/prometheus.py
+++ b/roles/monitoring/prometheus/server/filter_plugins/prometheus.py
@@ -11,7 +11,7 @@ def prometheus_job_targets(hostvars, jobs, targets):
result = []
for job in jobs:
for target in targets:
- special_config_varname = 'prometheus_job_' + job.replace('-', '_')
+ 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})
diff --git a/roles/monitoring/prometheus/server/tasks/main.yml b/roles/monitoring/prometheus/server/tasks/main.yml
index 4bcaa2d5..16167c9c 100644
--- a/roles/monitoring/prometheus/server/tasks/main.yml
+++ b/roles/monitoring/prometheus/server/tasks/main.yml
@@ -44,7 +44,7 @@
path: "/etc/prometheus/{{ item }}"
state: directory
-- name: create sub-directroy for all jobs in targets directory
+- name: create sub-directories for all jobs in targets directory
loop: "{{ prometheus_server_jobs }}"
file:
path: "/etc/prometheus/targets/{{ item }}"
@@ -76,6 +76,12 @@
state: absent
notify: reload prometheus
+- name: create sub-directories for all jobs in rules directory
+ loop: "{{ prometheus_server_jobs | select('match', '.*/.*') | map('dirname') | unique }}"
+ file:
+ path: "/etc/prometheus/rules/{{ item }}"
+ state: directory
+
- name: generate rules files for all jobs
loop: "{{ prometheus_server_jobs | union(['prometheus']) }}"
template:
diff --git a/roles/monitoring/prometheus/server/templates/job-snippets/blackbox-https.j2 b/roles/monitoring/prometheus/server/templates/job-snippets/blackbox/https.j2
index 98a64121..98a64121 100644
--- a/roles/monitoring/prometheus/server/templates/job-snippets/blackbox-https.j2
+++ b/roles/monitoring/prometheus/server/templates/job-snippets/blackbox/https.j2
diff --git a/roles/monitoring/prometheus/server/templates/job-snippets/blackbox-ping.j2 b/roles/monitoring/prometheus/server/templates/job-snippets/blackbox/ping.j2
index 736ffec1..736ffec1 100644
--- a/roles/monitoring/prometheus/server/templates/job-snippets/blackbox-ping.j2
+++ b/roles/monitoring/prometheus/server/templates/job-snippets/blackbox/ping.j2
diff --git a/roles/monitoring/prometheus/server/templates/job-snippets/blackbox-ssh.j2 b/roles/monitoring/prometheus/server/templates/job-snippets/blackbox/ssh.j2
index 166f37ad..166f37ad 100644
--- a/roles/monitoring/prometheus/server/templates/job-snippets/blackbox-ssh.j2
+++ b/roles/monitoring/prometheus/server/templates/job-snippets/blackbox/ssh.j2
diff --git a/roles/monitoring/prometheus/server/templates/job-snippets/nut-ups.j2 b/roles/monitoring/prometheus/server/templates/job-snippets/nut/ups.j2
index 3a2c5c62..3a2c5c62 100644
--- a/roles/monitoring/prometheus/server/templates/job-snippets/nut-ups.j2
+++ b/roles/monitoring/prometheus/server/templates/job-snippets/nut/ups.j2
diff --git a/roles/monitoring/prometheus/server/templates/prometheus.yml.j2 b/roles/monitoring/prometheus/server/templates/prometheus.yml.j2
index 4a079896..8156341d 100644
--- a/roles/monitoring/prometheus/server/templates/prometheus.yml.j2
+++ b/roles/monitoring/prometheus/server/templates/prometheus.yml.j2
@@ -6,6 +6,9 @@ global:
rule_files:
- /etc/prometheus/rules/*.yml
+{% for subdir in (prometheus_server_jobs | select('match', '.*/.*') | map('dirname') | unique) %}
+ - /etc/prometheus/rules/{{ subdir }}/*.yml
+{% endfor %}
{% if prometheus_server_alertmanager is defined %}
alerting:
@@ -37,7 +40,7 @@ scrape_configs:
{% endif %}
{% for job in (prometheus_server_jobs) %}
-{% include 'job-snippets/' + (lookup('first_found', {'paths': ['templates/job-snippets'], 'files': [job + '.j2', 'generic.j2']}) | basename) %}{{ '' }}
+{% include lookup('first_found', {'paths': ['templates/job-snippets'], 'files': [job + '.j2', 'generic.j2']}) | relpath(template_fullpath | dirname) %}{{ '' }}
{% endfor %}
{% if prometheus_server_jobs_extra is defined %}
diff --git a/roles/monitoring/prometheus/server/templates/targets/blackbox-https.yml.j2 b/roles/monitoring/prometheus/server/templates/targets/blackbox/https.yml.j2
index b1a33df3..29c89590 100644
--- a/roles/monitoring/prometheus/server/templates/targets/blackbox-https.yml.j2
+++ b/roles/monitoring/prometheus/server/templates/targets/blackbox/https.yml.j2
@@ -1,4 +1,4 @@
- targets: [ '{{ hostvars[target.config.exporter_hostname].prometheus_scrape_endpoint }}' ]
labels:
instance: '{{ target.instance }}'
- __param_target: {{ target.config.address }}
+ __param_target: '{{ target.config.address }}'
diff --git a/roles/monitoring/prometheus/server/templates/targets/blackbox-ping.yml.j2 b/roles/monitoring/prometheus/server/templates/targets/blackbox/ping.yml.j2
index b1a33df3..29c89590 100644
--- a/roles/monitoring/prometheus/server/templates/targets/blackbox-ping.yml.j2
+++ b/roles/monitoring/prometheus/server/templates/targets/blackbox/ping.yml.j2
@@ -1,4 +1,4 @@
- targets: [ '{{ hostvars[target.config.exporter_hostname].prometheus_scrape_endpoint }}' ]
labels:
instance: '{{ target.instance }}'
- __param_target: {{ target.config.address }}
+ __param_target: '{{ target.config.address }}'
diff --git a/roles/monitoring/prometheus/server/templates/targets/blackbox-ssh.yml.j2 b/roles/monitoring/prometheus/server/templates/targets/blackbox/ssh.yml.j2
index b1a33df3..29c89590 100644
--- a/roles/monitoring/prometheus/server/templates/targets/blackbox-ssh.yml.j2
+++ b/roles/monitoring/prometheus/server/templates/targets/blackbox/ssh.yml.j2
@@ -1,4 +1,4 @@
- targets: [ '{{ hostvars[target.config.exporter_hostname].prometheus_scrape_endpoint }}' ]
labels:
instance: '{{ target.instance }}'
- __param_target: {{ target.config.address }}
+ __param_target: '{{ target.config.address }}'
diff --git a/roles/monitoring/prometheus/server/templates/targets/nut-ups.yml.j2 b/roles/monitoring/prometheus/server/templates/targets/nut/ups.yml.j2
index d63d79a7..6003cd46 100644
--- a/roles/monitoring/prometheus/server/templates/targets/nut-ups.yml.j2
+++ b/roles/monitoring/prometheus/server/templates/targets/nut/ups.yml.j2
@@ -1,17 +1,17 @@
- targets: [ '{{ hostvars[target.config.exporter_hostname].prometheus_scrape_endpoint }}' ]
labels:
instance: '{{ target.instance }}'
- __param_ups: {{ target.config.ups }}
- __param_server: {{ target.config.server | default('127.0.0.1') }}
+ __param_ups: '{{ target.config.ups }}'
+ __param_server: '{{ target.config.server | default('127.0.0.1') }}'
{% if 'username' in target.config %}
- __param_username: {{ target.config.username }}
+ __param_username: '{{ target.config.username }}'
{% endif %}
{% if 'password' in target.config %}
- __param_password: {{ target.config.password }}
+ __param_password: '{{ target.config.password }}'
{% endif %}
{% if 'variables' in target.config %}
- __param_variables: {{ target.config.variables }}
+ __param_variables: '{{ target.config.variables }}'
{% endif %}
{% if 'statuses' in target.config %}
- __param_statuses: {{ target.config.statuses }}
+ __param_statuses: '{{ target.config.statuses }}'
{% endif %}