summaryrefslogtreecommitdiff
path: root/roles/monitoring/prometheus
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2023-12-06 17:52:10 +0100
committerChristian Pointner <equinox@spreadspace.org>2023-12-06 17:52:10 +0100
commit314ef650eba096af4e2eae5c14f88e4601f7fce3 (patch)
treeb9fb7cbdfe52eabff2b8b739889abd6565710dd7 /roles/monitoring/prometheus
parentcosmetic change (diff)
update some prometheus stuff
Diffstat (limited to 'roles/monitoring/prometheus')
-rw-r--r--roles/monitoring/prometheus/exporter/snmp/defaults/main.yml7
-rw-r--r--roles/monitoring/prometheus/exporter/snmp/tasks/main.yml58
-rw-r--r--roles/monitoring/prometheus/exporter/snmp/templates/config.yml.j210
-rw-r--r--roles/monitoring/prometheus/exporter/snmp/templates/service.j22
4 files changed, 18 insertions, 59 deletions
diff --git a/roles/monitoring/prometheus/exporter/snmp/defaults/main.yml b/roles/monitoring/prometheus/exporter/snmp/defaults/main.yml
index 45cff8aa..24853297 100644
--- a/roles/monitoring/prometheus/exporter/snmp/defaults/main.yml
+++ b/roles/monitoring/prometheus/exporter/snmp/defaults/main.yml
@@ -1,9 +1,8 @@
---
# prometheus_exporter_snmp_version:
-## the default config will be replaced with this
-# prometheus_exporter_snmp_config:
+## this overwrites the default config
+# prometheus_exporter_snmp_config_default:
## this extends the default config
-# prometheus_exporter_snmp_auths_extra:
-# prometheus_exporter_snmp_modules_extra:
+# prometheus_exporter_snmp_config_extra:
diff --git a/roles/monitoring/prometheus/exporter/snmp/tasks/main.yml b/roles/monitoring/prometheus/exporter/snmp/tasks/main.yml
index 66b6f6b7..716b8532 100644
--- a/roles/monitoring/prometheus/exporter/snmp/tasks/main.yml
+++ b/roles/monitoring/prometheus/exporter/snmp/tasks/main.yml
@@ -21,54 +21,24 @@
allow_downgrade: yes
notify: restart prometheus-snmp-exporter
-- name: generate configuration
- when: prometheus_exporter_snmp_config is defined
- template:
- src: config.yml.j2
- dest: /etc/prometheus/exporter/snmp/config.yml
- notify: reload prometheus-snmp-exporter
+- name: overwrite default configuration
+ when: prometheus_exporter_snmp_config_default is defined
+ copy:
+ content: |
+ # {{ ansible_managed }}
-- name: add extra auths to default configuration
- when:
- - prometheus_exporter_snmp_config is not defined
- - prometheus_exporter_snmp_auths_extra is defined
- blockinfile:
- path: /etc/prometheus/exporter/snmp/config.yml
- insertbefore: '^modules:'
- marker: '# {mark} ANSIBLE MANAGED BLOCK auths-extra'
- block: |
- {{ ' ' }}{{ prometheus_exporter_snmp_auths_extra | to_nice_yaml(indent=2) | indent(2) }}
+ {{ prometheus_exporter_snmp_config_default | to_nice_yaml(indent=2) }}
+ dest: /etc/prometheus/exporter/snmp/config-default.yml
notify: reload prometheus-snmp-exporter
-- name: remove extra auths from default configuration
- when:
- - prometheus_exporter_snmp_config is not defined
- - prometheus_exporter_snmp_auths_extra is not defined
- blockinfile:
- path: /etc/prometheus/exporter/snmp/config.yml
- marker: '# {mark} ANSIBLE MANAGED BLOCK auths-extra'
- state: absent
- notify: reload prometheus-snmp-exporter
-
-- name: add extra modules to default configuration
- when:
- - prometheus_exporter_snmp_config is not defined
- - prometheus_exporter_snmp_modules_extra is defined
- blockinfile:
- path: /etc/prometheus/exporter/snmp/config.yml
- marker: '# {mark} ANSIBLE MANAGED BLOCK modules-extra'
- block: |
- {{ ' ' }}{{ prometheus_exporter_snmp_modules_extra | to_nice_yaml(indent=2) | indent(2) }}
- notify: reload prometheus-snmp-exporter
+- name: generate extra configuration
+ when: prometheus_exporter_snmp_config_extra is defined
+ copy:
+ content: |
+ # {{ ansible_managed }}
-- name: remove extra modules from default configuration
- when:
- - prometheus_exporter_snmp_config is not defined
- - prometheus_exporter_snmp_modules_extra is not defined
- blockinfile:
- path: /etc/prometheus/exporter/snmp/config.yml
- marker: '# {mark} ANSIBLE MANAGED BLOCK modules-extra'
- state: absent
+ {{ prometheus_exporter_snmp_config_extra | to_nice_yaml(indent=2) }}
+ dest: /etc/prometheus/exporter/snmp/config-extra.yml
notify: reload prometheus-snmp-exporter
- name: generate systemd service unit
diff --git a/roles/monitoring/prometheus/exporter/snmp/templates/config.yml.j2 b/roles/monitoring/prometheus/exporter/snmp/templates/config.yml.j2
deleted file mode 100644
index 0f84b705..00000000
--- a/roles/monitoring/prometheus/exporter/snmp/templates/config.yml.j2
+++ /dev/null
@@ -1,10 +0,0 @@
-# {{ ansible_managed }}
-
-{% set config_extra = dict() %}
-{% if prometheus_exporter_snmp_auths_extra is defined %}
-{% config_extra.update{'auths': prometheus_exporter_snmp_auths_extra } %}
-{% endif %}
-{% if prometheus_exporter_snmp_modules_extra is defined %}
-{% config_extra.update{'modules': prometheus_exporter_snmp_modules_extra } %}
-{% endif %}
-{{ prometheus_exporter_snmp_config | combine(config_extra) | to_nice_yaml(indent=2) }}
diff --git a/roles/monitoring/prometheus/exporter/snmp/templates/service.j2 b/roles/monitoring/prometheus/exporter/snmp/templates/service.j2
index 7fccb2da..2ee4103d 100644
--- a/roles/monitoring/prometheus/exporter/snmp/templates/service.j2
+++ b/roles/monitoring/prometheus/exporter/snmp/templates/service.j2
@@ -4,7 +4,7 @@ Description=Prometheus snmp exporter
[Service]
Restart=always
User=prometheus-exporter
-ExecStart=/usr/bin/prometheus-snmp-exporter --web.listen-address="127.0.0.1:9116" --config.file=/etc/prometheus/exporter/snmp/config.yml
+ExecStart=/usr/bin/prometheus-snmp-exporter --web.listen-address="127.0.0.1:9116" --config.file=/etc/prometheus/exporter/snmp/config-*.yml
ExecReload=/bin/kill -HUP $MAINPID
# systemd hardening-options