From 2553ebb2aa3a03d2859f0fdf725b465a43dce95a Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sat, 26 Aug 2023 04:51:11 +0200 Subject: prometheus/exporter/snmp: switch to new config format (0.23.0+) --- .../prometheus/exporter/snmp/tasks/main.yml | 39 ++++++++++++++++++++-- 1 file changed, 36 insertions(+), 3 deletions(-) (limited to 'roles/monitoring/prometheus/exporter/snmp/tasks/main.yml') diff --git a/roles/monitoring/prometheus/exporter/snmp/tasks/main.yml b/roles/monitoring/prometheus/exporter/snmp/tasks/main.yml index 8fc93f0b..66b6f6b7 100644 --- a/roles/monitoring/prometheus/exporter/snmp/tasks/main.yml +++ b/roles/monitoring/prometheus/exporter/snmp/tasks/main.yml @@ -28,14 +28,47 @@ dest: /etc/prometheus/exporter/snmp/config.yml notify: reload prometheus-snmp-exporter -- name: extend the default configuration +- name: add extra auths to default configuration when: - prometheus_exporter_snmp_config is not defined - - prometheus_exporter_snmp_config_extra is 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_config_extra | to_nice_yaml(indent=2) }} + {{ ' ' }}{{ prometheus_exporter_snmp_auths_extra | to_nice_yaml(indent=2) | indent(2) }} + 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: 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 notify: reload prometheus-snmp-exporter - name: generate systemd service unit -- cgit v1.2.3