summaryrefslogtreecommitdiff
path: root/roles/monitoring/prometheus
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2023-02-07 21:58:52 +0100
committerChristian Pointner <equinox@spreadspace.org>2023-02-07 21:58:52 +0100
commitcc2a907d0272d2ca606427b9d811f7c127bdcf22 (patch)
tree5b181a063d7fbec23068d886a4122c1fce44607c /roles/monitoring/prometheus
parentelevate-festival: add IP for new mixer (diff)
promethues: some cleanup and fixes
Diffstat (limited to 'roles/monitoring/prometheus')
-rw-r--r--roles/monitoring/prometheus/server/defaults/main/main.yml6
-rw-r--r--roles/monitoring/prometheus/server/defaults/main/rules_prometheus.yml9
-rw-r--r--roles/monitoring/prometheus/server/tasks/main.yml27
-rw-r--r--roles/monitoring/prometheus/server/templates/prometheus.yml.j24
4 files changed, 28 insertions, 18 deletions
diff --git a/roles/monitoring/prometheus/server/defaults/main/main.yml b/roles/monitoring/prometheus/server/defaults/main/main.yml
index b377a7f0..ab0b3276 100644
--- a/roles/monitoring/prometheus/server/defaults/main/main.yml
+++ b/roles/monitoring/prometheus/server/defaults/main/main.yml
@@ -10,6 +10,9 @@ prometheus_server_retention: "15d"
# environment: foo
# monitor: {{ inventory_hostname }}
+prometheus_server_scrape_interval: "15s"
+prometheus_server_evaluation_interval: "15s"
+
prometheus_server_jobs:
- node
#prometheus_server_jobs_extra: |
@@ -62,3 +65,6 @@ prometheus_server_web_listen_address: 127.0.0.1:9090
# jobs:
# - node
# - blackbox
+
+# prometheus_server_secret_files:
+# user: secret
diff --git a/roles/monitoring/prometheus/server/defaults/main/rules_prometheus.yml b/roles/monitoring/prometheus/server/defaults/main/rules_prometheus.yml
index b568f722..739bbbad 100644
--- a/roles/monitoring/prometheus/server/defaults/main/rules_prometheus.yml
+++ b/roles/monitoring/prometheus/server/defaults/main/rules_prometheus.yml
@@ -11,15 +11,6 @@ prometheus_server_rules_prometheus:
summary: Prometheus job missing (instance {{ '{{' }} $labels.instance {{ '}}' }})
description: "A Prometheus job has disappeared\n VALUE = {{ '{{' }} $value {{ '}}' }}\n LABELS = {{ '{{' }} $labels {{ '}}' }}"
- - alert: PrometheusJobMissing
- expr: absent(up{job="prometheus"})
- for: 0m
- labels:
- severity: warning
- annotations:
- summary: Prometheus job missing (instance {{ '{{' }} $labels.instance {{ '}}' }})
- description: "A Prometheus job has disappeared\n VALUE = {{ '{{' }} $value {{ '}}' }}\n LABELS = {{ '{{' }} $labels {{ '}}' }}"
-
- alert: PrometheusTargetMissing
expr: up == 0
for: 0m
diff --git a/roles/monitoring/prometheus/server/tasks/main.yml b/roles/monitoring/prometheus/server/tasks/main.yml
index ad78ee24..b552fd27 100644
--- a/roles/monitoring/prometheus/server/tasks/main.yml
+++ b/roles/monitoring/prometheus/server/tasks/main.yml
@@ -80,13 +80,6 @@
validate: "promtool check rules %s"
notify: reload prometheus
-- name: generate configuration file
- template:
- src: prometheus.yml.j2
- dest: /etc/prometheus/prometheus.yml
- validate: "promtool check config %s"
- notify: reload prometheus
-
- name: generate web configuration file
when: prometheus_server_auth_users is defined
copy:
@@ -140,6 +133,26 @@
no_log: yes
notify: reload prometheus
+- name: generate extra secret files
+ when: prometheus_server_secret_files is defined
+ loop: "{{ prometheus_server_secret_files | dict2items }}"
+ loop_control:
+ label: "{{ item.key }}"
+ copy:
+ content: "{{ item.value }}"
+ dest: "/etc/prometheus/prometheus-{{ item.key }}.secret"
+ mode: 0640
+ owner: root
+ group: prometheus
+ notify: reload prometheus
+
+- name: generate configuration file
+ template:
+ src: prometheus.yml.j2
+ dest: /etc/prometheus/prometheus.yml
+ validate: "promtool check config %s"
+ notify: reload prometheus
+
- name: generate systemd service unit
template:
src: prometheus.service.j2
diff --git a/roles/monitoring/prometheus/server/templates/prometheus.yml.j2 b/roles/monitoring/prometheus/server/templates/prometheus.yml.j2
index e9d83c1d..09d5452d 100644
--- a/roles/monitoring/prometheus/server/templates/prometheus.yml.j2
+++ b/roles/monitoring/prometheus/server/templates/prometheus.yml.j2
@@ -1,8 +1,8 @@
# {{ ansible_managed }}
global:
- scrape_interval: 15s
- evaluation_interval: 15s
+ scrape_interval: {{ prometheus_server_scrape_interval }}
+ evaluation_interval: {{ prometheus_server_evaluation_interval }}
{% if prometheus_server_external_labels is defined %}
external_labels:
{% for name, value in prometheus_server_external_labels.items() %}