From 314ef650eba096af4e2eae5c14f88e4601f7fce3 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Wed, 6 Dec 2023 17:52:10 +0100 Subject: update some prometheus stuff --- .../prometheus/exporter/snmp/defaults/main.yml | 7 ++- .../prometheus/exporter/snmp/tasks/main.yml | 58 ++++++---------------- .../exporter/snmp/templates/config.yml.j2 | 10 ---- .../prometheus/exporter/snmp/templates/service.j2 | 2 +- 4 files changed, 18 insertions(+), 59 deletions(-) delete mode 100644 roles/monitoring/prometheus/exporter/snmp/templates/config.yml.j2 (limited to 'roles/monitoring/prometheus') 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 -- cgit v1.2.3