From bb8dea1d871c2152aad002536000122440402f1c Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Tue, 9 Aug 2022 16:03:08 +0200 Subject: [PATCH] [postfix] Add Prometheus exporter Signed-off-by: Yohann D'ANELLO --- host_vars/fyre.adm.crans.org.yml | 15 +++++++++++++++ plays/monitoring.yml | 7 +++++++ .../handlers/main.yml | 5 +++++ roles/prometheus-postfix-exporter/tasks/main.yml | 16 ++++++++++++++++ 4 files changed, 43 insertions(+) create mode 100644 roles/prometheus-postfix-exporter/handlers/main.yml create mode 100644 roles/prometheus-postfix-exporter/tasks/main.yml diff --git a/host_vars/fyre.adm.crans.org.yml b/host_vars/fyre.adm.crans.org.yml index d0fe3278..df5ea2d2 100644 --- a/host_vars/fyre.adm.crans.org.yml +++ b/host_vars/fyre.adm.crans.org.yml @@ -119,6 +119,21 @@ loc_prometheus: target_label: __address__ replacement: '$1:9119' + postfix: + config: + - job_name: postfix + file_sd_configs: + - files: + - '/etc/prometheus/targets/postfix.json' + relabel_configs: + - source_labels: [__address__] + target_label: __param_target + - source_labels: [__param_target] + target_label: instance + - source_labels: [__param_target] + target_label: __address__ + replacement: '$1:9154' + mtail: config: - job_name: mtail diff --git a/plays/monitoring.yml b/plays/monitoring.yml index 973a66cf..152cc79e 100755 --- a/plays/monitoring.yml +++ b/plays/monitoring.yml @@ -62,6 +62,13 @@ roles: - prometheus-bind-exporter +# Monitor Postfix metrics +- hosts: postfix + vars: + prometheus_postfix_exporter: "{{ glob_prometheus_postfix_exporter | default({}) | combine(loc_prometheus_postfix_exporter | default({})) }}" + roles: + - prometheus-postfix-exporter + # Monitor mailq with a special text exporter # - hosts: redisdead.adm.crans.org # roles: ["prometheus-node-exporter-postfix"] diff --git a/roles/prometheus-postfix-exporter/handlers/main.yml b/roles/prometheus-postfix-exporter/handlers/main.yml new file mode 100644 index 00000000..cb53af4a --- /dev/null +++ b/roles/prometheus-postfix-exporter/handlers/main.yml @@ -0,0 +1,5 @@ +--- +- name: Restart prometheus-postfix-exporter + service: + name: prometheus-postfix-exporter + state: restarted diff --git a/roles/prometheus-postfix-exporter/tasks/main.yml b/roles/prometheus-postfix-exporter/tasks/main.yml new file mode 100644 index 00000000..5fb03c42 --- /dev/null +++ b/roles/prometheus-postfix-exporter/tasks/main.yml @@ -0,0 +1,16 @@ +--- +- name: Install Prometheus postfix-exporter + apt: + update_cache: true + name: prometheus-postfix-exporter + register: apt_result + retries: 3 + until: apt_result is succeeded + +- name: Make Prometheus postfix-exporter listen on adm only + lineinfile: + path: /etc/default/prometheus-postfix-exporter + regexp: ^ARGS= + line: | + ARGS="--web.listen-address={{ prometheus_postfix_exporter.listen_addr }}:9154" + notify: Restart prometheus-postfix-exporter