summaryrefslogtreecommitdiff
path: root/roles/monitoring
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2021-08-28 03:52:29 +0200
committerChristian Pointner <equinox@spreadspace.org>2021-08-28 03:52:29 +0200
commit98e020e82585d69c54bc6774237812ed8eab730e (patch)
tree3300c4e9bf51cad4531d27f7c6d7c625b1864c48 /roles/monitoring
parentadd nut exporter to ch-mon (diff)
promethues generic vs special jobs
Diffstat (limited to 'roles/monitoring')
-rw-r--r--roles/monitoring/prometheus/server/defaults/main/main.yml4
-rw-r--r--roles/monitoring/prometheus/server/defaults/main/rules_nut.yml3
-rw-r--r--roles/monitoring/prometheus/server/tasks/main.yml10
-rw-r--r--roles/monitoring/prometheus/server/templates/prometheus.yml.j22
4 files changed, 13 insertions, 6 deletions
diff --git a/roles/monitoring/prometheus/server/defaults/main/main.yml b/roles/monitoring/prometheus/server/defaults/main/main.yml
index 98fc5b01..f6679fa7 100644
--- a/roles/monitoring/prometheus/server/defaults/main/main.yml
+++ b/roles/monitoring/prometheus/server/defaults/main/main.yml
@@ -5,8 +5,9 @@
prometheus_server_retention: "15d"
-prometheus_server_jobs:
+prometheus_server_jobs_generic:
- node
+prometheus_server_jobs_special: []
#prometheus_server_jobs_extra: |
# - job_name: ...
@@ -14,6 +15,7 @@ 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: "{{ prometheus_server_rules_nut + prometheus_server_rules_nut_extra }}"
# prometheus_server_alertmanager:
# url: "127.0.0.1:9093"
diff --git a/roles/monitoring/prometheus/server/defaults/main/rules_nut.yml b/roles/monitoring/prometheus/server/defaults/main/rules_nut.yml
new file mode 100644
index 00000000..d8d64f64
--- /dev/null
+++ b/roles/monitoring/prometheus/server/defaults/main/rules_nut.yml
@@ -0,0 +1,3 @@
+---
+prometheus_server_rules_nut_extra: []
+prometheus_server_rules_nut: []
diff --git a/roles/monitoring/prometheus/server/tasks/main.yml b/roles/monitoring/prometheus/server/tasks/main.yml
index aaae1a0e..1e25eb06 100644
--- a/roles/monitoring/prometheus/server/tasks/main.yml
+++ b/roles/monitoring/prometheus/server/tasks/main.yml
@@ -45,7 +45,7 @@
state: directory
- name: create sub-directroy for all exporter types in jobs directory
- loop: "{{ prometheus_server_jobs }}"
+ loop: "{{ prometheus_server_jobs_generic + prometheus_server_jobs_special }}"
file:
path: "/etc/prometheus/jobs/{{ item }}"
state: directory
@@ -59,8 +59,8 @@
instance: "{{ item }}"
dest: "/etc/prometheus/targets/{{ item }}.yml"
-- name: enable targets for jobs
- loop: "{{ hostvars | prometheus_job_targets(prometheus_server_jobs, prometheus_zone_targets) }}"
+- name: enable targets for generic jobs
+ loop: "{{ hostvars | prometheus_job_targets(prometheus_server_jobs_generic, prometheus_zone_targets) }}"
loop_control:
label: "{{ item.job }} -> {{ item.target }}"
file:
@@ -68,8 +68,10 @@
path: "/etc/prometheus/jobs/{{ item.job }}/{{ item.target }}.yml"
state: "{{ item.enabled | ternary('link', 'absent') }}"
+## TODO: generate special target configs
+
- name: generate rules files for all jobs
- loop: "{{ prometheus_server_jobs | union(['prometheus']) }}"
+ loop: "{{ (prometheus_server_jobs_generic + prometheus_server_jobs_special) | union(['prometheus']) }}"
template:
src: rules.yml.j2
dest: "/etc/prometheus/rules/{{ item }}.yml"
diff --git a/roles/monitoring/prometheus/server/templates/prometheus.yml.j2 b/roles/monitoring/prometheus/server/templates/prometheus.yml.j2
index dbd8bd99..2b9a08e4 100644
--- a/roles/monitoring/prometheus/server/templates/prometheus.yml.j2
+++ b/roles/monitoring/prometheus/server/templates/prometheus.yml.j2
@@ -35,7 +35,7 @@ scrape_configs:
static_configs:
- targets: ['{{ prometheus_server_alertmanager.url }}']
{% endif %}
-{% for job in prometheus_server_jobs %}
+{% for job in (prometheus_server_jobs_generic + prometheus_server_jobs_special) %}
{% include 'job-snippets/' + (lookup('first_found', {'paths': ['templates/job-snippets'], 'files': [job + '.j2', 'default.j2']}) | basename) %}{{ '' }}
{% endfor %}