From 72bb0c5655fefc13d59323334da30a570929478a Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Tue, 22 Mar 2022 18:49:38 +0100 Subject: monitoring/prometheus: pinning packages --- .../prometheus/alertmanager/defaults/main.yml | 2 ++ .../monitoring/prometheus/alertmanager/tasks/main.yml | 19 +++++++++++++++++-- .../prometheus/exporter/blackbox/defaults/main.yml | 2 ++ .../prometheus/exporter/blackbox/tasks/main.yml | 19 +++++++++++++++++-- .../prometheus/exporter/ipmi/defaults/main.yml | 2 ++ .../prometheus/exporter/ipmi/tasks/main.yml | 19 +++++++++++++++++-- .../prometheus/exporter/mikrotik/defaults/main.yml | 2 ++ .../prometheus/exporter/mikrotik/tasks/main.yml | 19 +++++++++++++++++-- .../prometheus/exporter/node/defaults/main.yml | 2 ++ .../prometheus/exporter/node/tasks/main.yml | 19 +++++++++++++++++-- .../prometheus/exporter/nut/defaults/main.yml | 2 ++ .../monitoring/prometheus/exporter/nut/tasks/main.yml | 19 +++++++++++++++++-- .../prometheus/exporter/ssl/defaults/main.yml | 2 ++ .../monitoring/prometheus/exporter/ssl/tasks/main.yml | 19 +++++++++++++++++-- .../prometheus/server/defaults/main/main.yml | 2 ++ roles/monitoring/prometheus/server/tasks/main.yml | 19 +++++++++++++++++-- 16 files changed, 152 insertions(+), 16 deletions(-) (limited to 'roles/monitoring/prometheus') 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: -- cgit v1.2.3