summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--inventory/group_vars/promzone-chaos-at-home/vars.yml2
-rw-r--r--inventory/host_vars/ch-mon.yml14
-rw-r--r--inventory/host_vars/ch-phoebe.yml1
-rw-r--r--inventory/host_vars/ch-prometheus.yml1
-rw-r--r--roles/monitoring/prometheus/alertmanager/defaults/main.yml2
-rw-r--r--roles/monitoring/prometheus/alertmanager/tasks/main.yml19
-rw-r--r--roles/monitoring/prometheus/exporter/blackbox/defaults/main.yml2
-rw-r--r--roles/monitoring/prometheus/exporter/blackbox/tasks/main.yml19
-rw-r--r--roles/monitoring/prometheus/exporter/ipmi/defaults/main.yml2
-rw-r--r--roles/monitoring/prometheus/exporter/ipmi/tasks/main.yml19
-rw-r--r--roles/monitoring/prometheus/exporter/mikrotik/defaults/main.yml2
-rw-r--r--roles/monitoring/prometheus/exporter/mikrotik/tasks/main.yml19
-rw-r--r--roles/monitoring/prometheus/exporter/node/defaults/main.yml2
-rw-r--r--roles/monitoring/prometheus/exporter/node/tasks/main.yml19
-rw-r--r--roles/monitoring/prometheus/exporter/nut/defaults/main.yml2
-rw-r--r--roles/monitoring/prometheus/exporter/nut/tasks/main.yml19
-rw-r--r--roles/monitoring/prometheus/exporter/ssl/defaults/main.yml2
-rw-r--r--roles/monitoring/prometheus/exporter/ssl/tasks/main.yml19
-rw-r--r--roles/monitoring/prometheus/server/defaults/main/main.yml2
-rw-r--r--roles/monitoring/prometheus/server/tasks/main.yml19
20 files changed, 170 insertions, 16 deletions
diff --git a/inventory/group_vars/promzone-chaos-at-home/vars.yml b/inventory/group_vars/promzone-chaos-at-home/vars.yml
index 7a8e833b..cc17e0a4 100644
--- a/inventory/group_vars/promzone-chaos-at-home/vars.yml
+++ b/inventory/group_vars/promzone-chaos-at-home/vars.yml
@@ -5,6 +5,8 @@ prometheus_exporters_extra: []
prometheus_exporters_default:
- node
+prometheus_exporter_node_version: 1.2.2
+
prometheus_server: ch-mon
prometheus_server_jobs:
- node
diff --git a/inventory/host_vars/ch-mon.yml b/inventory/host_vars/ch-mon.yml
index 83673bb3..cc873158 100644
--- a/inventory/host_vars/ch-mon.yml
+++ b/inventory/host_vars/ch-mon.yml
@@ -54,6 +54,7 @@ lvm_groups:
spreadspace_apt_repo_components:
- prometheus
+
prometheus_server_storage:
type: lvm
vg: mondata
@@ -61,6 +62,8 @@ prometheus_server_storage:
size: 30G
fs: ext4
+prometheus_server_version: 2.30.1
+
prometheus_server_external_labels:
environment: chaos-at-home
monitor: "{{ inventory_hostname }}"
@@ -89,10 +92,18 @@ prometheus_exporters_extra:
- nut
- ssl
+
+prometheus_exporter_blackbox_version: 0.19.0
+
prometheus_exporter_blackbox_modules_extra:
icmp:
prober: icmp
+
+prometheus_exporter_nut_version: 2.2.1
+prometheus_exporter_ssl_version: 2.3.1
+
+
prometheus_job_multitarget_blackbox__probe:
ch-mon:
- instance: "ping-magentagw"
@@ -135,6 +146,8 @@ prometheus_server_jobs_extra: |
action: drop
+prometheus_alertmanager_version: 0.22.2
+
prometheus_alertmanager_smtp:
smarthost: "{{ network_zones.lan.prefix | ipaddr(network_zones.lan.offsets['ch-prometheus-legacy']) | ipaddr('address') }}:25"
from: "noreply@chaos-at-home.org"
@@ -155,6 +168,7 @@ prometheus_alertmanager_receivers:
- to: equinox@chaos-at-home.org
send_resolved: true
+
grafana_secret_key: "{{ vault_grafana_secret_key }}"
grafana_datasources:
diff --git a/inventory/host_vars/ch-phoebe.yml b/inventory/host_vars/ch-phoebe.yml
index 915adbea..cb5562d5 100644
--- a/inventory/host_vars/ch-phoebe.yml
+++ b/inventory/host_vars/ch-phoebe.yml
@@ -59,6 +59,7 @@ prometheus_exporters_extra:
- ssl
- ipmi
+prometheus_exporter_ipmi_version: 1.4.0
prometheus_exporter_ipmi_modules:
default:
collectors:
diff --git a/inventory/host_vars/ch-prometheus.yml b/inventory/host_vars/ch-prometheus.yml
index 9763ba2f..af8298f2 100644
--- a/inventory/host_vars/ch-prometheus.yml
+++ b/inventory/host_vars/ch-prometheus.yml
@@ -55,6 +55,7 @@ prometheus_exporters_extra:
- ssl
- ipmi
+prometheus_exporter_ipmi_version: 1.4.0
prometheus_exporter_ipmi_modules:
default:
collectors:
diff --git a/roles/monitoring/prometheus/alertmanager/defaults/main.yml b/roles/monitoring/prometheus/alertmanager/defaults/main.yml
index ac4f7600..85ba4f3b 100644
--- a/roles/monitoring/prometheus/alertmanager/defaults/main.yml
+++ b/roles/monitoring/prometheus/alertmanager/defaults/main.yml
@@ -1,4 +1,6 @@
---
+# prometheus_alertmanager_version:
+
prometheus_alertmanager_web_listen_address: 127.0.0.1:9093
# prometheus_alertmanager_web_route_prefix: /alertmanager/
# prometheus_alertmanager_web_external_url: https://mon.example.com/alertmanager/
diff --git a/roles/monitoring/prometheus/alertmanager/tasks/main.yml b/roles/monitoring/prometheus/alertmanager/tasks/main.yml
index 173ea758..796f9def 100644
--- a/roles/monitoring/prometheus/alertmanager/tasks/main.yml
+++ b/roles/monitoring/prometheus/alertmanager/tasks/main.yml
@@ -6,11 +6,26 @@
- spreadspace_apt_repo_components is defined
- "'prometheus' in spreadspace_apt_repo_components"
- ## TODO: pin version
+- name: generate apt pin file for alertmanager package
+ when: prometheus_alertmanager_version is defined
+ copy:
+ dest: "/etc/apt/preferences.d/prom-alertmanager.pref"
+ content: |
+ Package: prom-alertmanager
+ Pin: version {{ prometheus_alertmanager_version }}-1
+ Pin-Priority: 1001
+
+- name: remove apt pin file for alertmanager package
+ when: prometheus_alertmanager_version is not defined
+ file:
+ path: "/etc/apt/preferences.d/prom-alertmanager.pref"
+ state: absent
+
- name: install apt packages
apt:
- name: prom-alertmanager
+ name: "prom-alertmanager{% if prometheus_alertmanager_version is defined %}={{ prometheus_alertmanager_version }}-1{% endif %}"
state: present
+ allow_downgrade: yes
- name: add user for alertmanager
user:
diff --git a/roles/monitoring/prometheus/exporter/blackbox/defaults/main.yml b/roles/monitoring/prometheus/exporter/blackbox/defaults/main.yml
index 73b9fde1..5d5f98a7 100644
--- a/roles/monitoring/prometheus/exporter/blackbox/defaults/main.yml
+++ b/roles/monitoring/prometheus/exporter/blackbox/defaults/main.yml
@@ -1,4 +1,6 @@
---
+# prometheus_exporter_blackbox_version:
+
prometheus_exporter_blackbox_modules:
tcp_connect:
prober: tcp
diff --git a/roles/monitoring/prometheus/exporter/blackbox/tasks/main.yml b/roles/monitoring/prometheus/exporter/blackbox/tasks/main.yml
index c4cabfce..f04cf68d 100644
--- a/roles/monitoring/prometheus/exporter/blackbox/tasks/main.yml
+++ b/roles/monitoring/prometheus/exporter/blackbox/tasks/main.yml
@@ -1,9 +1,24 @@
---
- ## TODO: pin version
+- name: generate apt pin file for exporter-blackbox package
+ when: prometheus_exporter_blackbox_version is defined
+ copy:
+ dest: "/etc/apt/preferences.d/prom-exporter-blackbox.pref"
+ content: |
+ Package: prom-exporter-blackbox
+ Pin: version {{ prometheus_exporter_blackbox_version }}-1
+ Pin-Priority: 1001
+
+- name: remove apt pin file for exporter-blackbox package
+ when: prometheus_exporter_blackbox_version is not defined
+ file:
+ path: "/etc/apt/preferences.d/prom-exporter-blackbox.pref"
+ state: absent
+
- name: install apt packages
apt:
- name: prom-exporter-blackbox
+ name: "prom-exporter-blackbox{% if prometheus_exporter_blackbox_version is defined %}={{ prometheus_exporter_blackbox_version }}-1{% endif %}"
state: present
+ allow_downgrade: yes
- name: create config directory
file:
diff --git a/roles/monitoring/prometheus/exporter/ipmi/defaults/main.yml b/roles/monitoring/prometheus/exporter/ipmi/defaults/main.yml
index 6cf14f76..fa9de646 100644
--- a/roles/monitoring/prometheus/exporter/ipmi/defaults/main.yml
+++ b/roles/monitoring/prometheus/exporter/ipmi/defaults/main.yml
@@ -1,4 +1,6 @@
---
+# prometheus_exporter_ipmi_version:
+
prometheus_exporter_ipmi_modules:
default:
collectors: []
diff --git a/roles/monitoring/prometheus/exporter/ipmi/tasks/main.yml b/roles/monitoring/prometheus/exporter/ipmi/tasks/main.yml
index 91318f16..81039e29 100644
--- a/roles/monitoring/prometheus/exporter/ipmi/tasks/main.yml
+++ b/roles/monitoring/prometheus/exporter/ipmi/tasks/main.yml
@@ -1,9 +1,24 @@
---
- ## TODO: pin version
+- name: generate apt pin file for exporter-ipmi package
+ when: prometheus_exporter_ipmi_version is defined
+ copy:
+ dest: "/etc/apt/preferences.d/prom-exporter-ipmi.pref"
+ content: |
+ Package: prom-exporter-ipmi
+ Pin: version {{ prometheus_exporter_ipmi_version }}-1
+ Pin-Priority: 1001
+
+- name: remove apt pin file for exporter-ipmi package
+ when: prometheus_exporter_ipmi_version is not defined
+ file:
+ path: "/etc/apt/preferences.d/prom-exporter-ipmi.pref"
+ state: absent
+
- name: install apt packages
apt:
- name: prom-exporter-ipmi
+ name: "prom-exporter-ipmi{% if prometheus_exporter_ipmi_version is defined %}={{ prometheus_exporter_ipmi_version }}-1{% endif %}"
state: present
+ allow_downgrade: yes
- name: create config directory
file:
diff --git a/roles/monitoring/prometheus/exporter/mikrotik/defaults/main.yml b/roles/monitoring/prometheus/exporter/mikrotik/defaults/main.yml
index 373cba47..cab0529a 100644
--- a/roles/monitoring/prometheus/exporter/mikrotik/defaults/main.yml
+++ b/roles/monitoring/prometheus/exporter/mikrotik/defaults/main.yml
@@ -1,4 +1,6 @@
---
+# prometheus_exporter_mikrotik_version:
+
# prometheus_exporter_mikrotik_devices:
# - name: bridge01
# address: 1.2.3.4
diff --git a/roles/monitoring/prometheus/exporter/mikrotik/tasks/main.yml b/roles/monitoring/prometheus/exporter/mikrotik/tasks/main.yml
index 72c78e4a..45c6b03b 100644
--- a/roles/monitoring/prometheus/exporter/mikrotik/tasks/main.yml
+++ b/roles/monitoring/prometheus/exporter/mikrotik/tasks/main.yml
@@ -1,9 +1,24 @@
---
- ## TODO: pin version
+- name: generate apt pin file for exporter-mikrotik package
+ when: prometheus_exporter_mikrotik_version is defined
+ copy:
+ dest: "/etc/apt/preferences.d/prom-exporter-mikrotik.pref"
+ content: |
+ Package: prom-exporter-mikrotik
+ Pin: version {{ prometheus_exporter_mikrotik_version }}-1
+ Pin-Priority: 1001
+
+- name: remove apt pin file for exporter-mikrotik package
+ when: prometheus_exporter_mikrotik_version is not defined
+ file:
+ path: "/etc/apt/preferences.d/prom-exporter-mikrotik.pref"
+ state: absent
+
- name: install apt packages
apt:
- name: prom-exporter-mikrotik
+ name: "prom-exporter-mikrotik{% if prometheus_exporter_mikrotik_version is defined %}={{ prometheus_exporter_mikrotik_version }}-1{% endif %}"
state: present
+ allow_downgrade: yes
- name: create config directory
file:
diff --git a/roles/monitoring/prometheus/exporter/node/defaults/main.yml b/roles/monitoring/prometheus/exporter/node/defaults/main.yml
index 38bcc080..a3a1baa9 100644
--- a/roles/monitoring/prometheus/exporter/node/defaults/main.yml
+++ b/roles/monitoring/prometheus/exporter/node/defaults/main.yml
@@ -1,4 +1,6 @@
---
+# prometheus_exporter_node_version:
+
_prometheus_exporter_node_time_collector_map_:
"": timex
systemd-timesyncd: timex
diff --git a/roles/monitoring/prometheus/exporter/node/tasks/main.yml b/roles/monitoring/prometheus/exporter/node/tasks/main.yml
index 27bf3a4d..7860212b 100644
--- a/roles/monitoring/prometheus/exporter/node/tasks/main.yml
+++ b/roles/monitoring/prometheus/exporter/node/tasks/main.yml
@@ -1,11 +1,26 @@
---
- ## TODO: pin version
+- name: generate apt pin file for exporter-node package
+ when: prometheus_exporter_node_version is defined
+ copy:
+ dest: "/etc/apt/preferences.d/prom-exporter-node.pref"
+ content: |
+ Package: prom-exporter-node
+ Pin: version {{ prometheus_exporter_node_version }}-1
+ Pin-Priority: 1001
+
+- name: remove apt pin file for exporter-node package
+ when: prometheus_exporter_node_version is not defined
+ file:
+ path: "/etc/apt/preferences.d/prom-exporter-node.pref"
+ state: absent
+
- name: install apt packages
apt:
name:
- - prom-exporter-node
+ - "prom-exporter-node{% if prometheus_exporter_node_version is defined %}={{ prometheus_exporter_node_version }}-1{% endif %}"
- moreutils
state: present
+ allow_downgrade: yes
- name: create directory for textfile collector
file:
diff --git a/roles/monitoring/prometheus/exporter/nut/defaults/main.yml b/roles/monitoring/prometheus/exporter/nut/defaults/main.yml
index e358627c..75045f8f 100644
--- a/roles/monitoring/prometheus/exporter/nut/defaults/main.yml
+++ b/roles/monitoring/prometheus/exporter/nut/defaults/main.yml
@@ -1,4 +1,6 @@
---
+# prometheus_exporter_nut_version:
+
prometheus_exporter_nut_variables:
- "battery.charge"
- "battery.runtime"
diff --git a/roles/monitoring/prometheus/exporter/nut/tasks/main.yml b/roles/monitoring/prometheus/exporter/nut/tasks/main.yml
index f602472d..79074d03 100644
--- a/roles/monitoring/prometheus/exporter/nut/tasks/main.yml
+++ b/roles/monitoring/prometheus/exporter/nut/tasks/main.yml
@@ -1,9 +1,24 @@
---
- ## TODO: pin version
+- name: generate apt pin file for exporter-nut package
+ when: prometheus_exporter_nut_version is defined
+ copy:
+ dest: "/etc/apt/preferences.d/prom-exporter-nut.pref"
+ content: |
+ Package: prom-exporter-nut
+ Pin: version {{ prometheus_exporter_nut_version }}-1
+ Pin-Priority: 1001
+
+- name: remove apt pin file for exporter-nut package
+ when: prometheus_exporter_nut_version is not defined
+ file:
+ path: "/etc/apt/preferences.d/prom-exporter-nut.pref"
+ state: absent
+
- name: install apt packages
apt:
- name: prom-exporter-nut
+ name: "prom-exporter-nut{% if prometheus_exporter_nut_version is defined %}={{ prometheus_exporter_nut_version }}-1{% endif %}"
state: present
+ allow_downgrade: yes
- name: generate systemd service unit
template:
diff --git a/roles/monitoring/prometheus/exporter/ssl/defaults/main.yml b/roles/monitoring/prometheus/exporter/ssl/defaults/main.yml
index d7edd3f4..f5dd8138 100644
--- a/roles/monitoring/prometheus/exporter/ssl/defaults/main.yml
+++ b/roles/monitoring/prometheus/exporter/ssl/defaults/main.yml
@@ -1,4 +1,6 @@
---
+# prometheus_exporter_ssl_version:
+
prometheus_exporter_ssl_modules:
tcp:
prober: tcp
diff --git a/roles/monitoring/prometheus/exporter/ssl/tasks/main.yml b/roles/monitoring/prometheus/exporter/ssl/tasks/main.yml
index c57ea0b1..79e36389 100644
--- a/roles/monitoring/prometheus/exporter/ssl/tasks/main.yml
+++ b/roles/monitoring/prometheus/exporter/ssl/tasks/main.yml
@@ -1,9 +1,24 @@
---
- ## TODO: pin version
+- name: generate apt pin file for exporter-ssl package
+ when: prometheus_exporter_ssl_version is defined
+ copy:
+ dest: "/etc/apt/preferences.d/prom-exporter-ssl.pref"
+ content: |
+ Package: prom-exporter-ssl
+ Pin: version {{ prometheus_exporter_ssl_version }}-1
+ Pin-Priority: 1001
+
+- name: remove apt pin file for exporter-ssl package
+ when: prometheus_exporter_ssl_version is not defined
+ file:
+ path: "/etc/apt/preferences.d/prom-exporter-ssl.pref"
+ state: absent
+
- name: install apt packages
apt:
- name: prom-exporter-ssl
+ name: "prom-exporter-ssl{% if prometheus_exporter_ssl_version is defined %}={{ prometheus_exporter_ssl_version }}-1{% endif %}"
state: present
+ allow_downgrade: yes
- name: create config directory
file:
diff --git a/roles/monitoring/prometheus/server/defaults/main/main.yml b/roles/monitoring/prometheus/server/defaults/main/main.yml
index 99f93e6e..0925b79b 100644
--- a/roles/monitoring/prometheus/server/defaults/main/main.yml
+++ b/roles/monitoring/prometheus/server/defaults/main/main.yml
@@ -3,6 +3,8 @@
# type: (zfs|lvm)
# ...
+# prometheus_server_version:
+
prometheus_server_retention: "15d"
# prometheus_server_external_labels:
# environment: foo
diff --git a/roles/monitoring/prometheus/server/tasks/main.yml b/roles/monitoring/prometheus/server/tasks/main.yml
index 4b1bf2c4..c9acd345 100644
--- a/roles/monitoring/prometheus/server/tasks/main.yml
+++ b/roles/monitoring/prometheus/server/tasks/main.yml
@@ -13,11 +13,26 @@
include_role:
name: "storage/{{ prometheus_server_storage.type }}/volume"
- ## TODO: pin version
+- name: generate apt pin file for prometheus package
+ when: prometheus_server_version is defined
+ copy:
+ dest: "/etc/apt/preferences.d/prom-server.pref"
+ content: |
+ Package: prom-server
+ Pin: version {{ prometheus_server_version }}-1
+ Pin-Priority: 1001
+
+- name: remove apt pin file for prometheus package
+ when: prometheus_server_version is not defined
+ file:
+ path: "/etc/apt/preferences.d/prom-server.pref"
+ state: absent
+
- name: install apt packages
apt:
- name: prom-server
+ name: "prom-server{% if prometheus_server_version is defined %}={{ prometheus_server_version }}-1{% endif %}"
state: present
+ allow_downgrade: yes
- name: add user for server
user: