From 31628096472865f7266047a42927d5156f536efb Mon Sep 17 00:00:00 2001 From: Julian Rother Date: Sat, 2 Apr 2022 03:55:07 +0200 Subject: [PATCH] Add prometheus exporter for postfix and option postfix.metrics_address --- defaults/main.yml | 1 + handlers/main.yml | 3 +++ tasks/main.yml | 15 +++++++++++++++ templates/prometheus-postfix-exporter.j2 | 15 +++++++++++++++ 4 files changed, 34 insertions(+) create mode 100644 templates/prometheus-postfix-exporter.j2 diff --git a/defaults/main.yml b/defaults/main.yml index a2fefdb..12ca26e 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -44,3 +44,4 @@ postfix: add_header_checks: [] smtpd_milters: [] non_smtpd_milters: [] + metrics_address: "127.0.0.1:9154" diff --git a/handlers/main.yml b/handlers/main.yml index 395ba07..2696fd3 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -3,3 +3,6 @@ - name: restart saslauthd service: name=saslauthd state=restarted + +- name: restart prometheus-postfix-exporter + service: name=prometheus-postfix-exporter state=restarted diff --git a/tasks/main.yml b/tasks/main.yml index e9f93c7..22d83fd 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -3,6 +3,21 @@ pkg: - postfix +- name: install prometheus postfix exporter + apt: + pkg: + - prometheus-postfix-exporter + +- name: configure prometheus postfix exporter + template: + src: prometheus-postfix-exporter.j2 + dest: /etc/default/prometheus-postfix-exporter + owner: root + group: root + mode: 0644 + notify: + - restart prometheus-postfix-exporter + - name: Install and setup utilities for LDAP when: postfix.ldap.enable block: diff --git a/templates/prometheus-postfix-exporter.j2 b/templates/prometheus-postfix-exporter.j2 new file mode 100644 index 0000000..10198f1 --- /dev/null +++ b/templates/prometheus-postfix-exporter.j2 @@ -0,0 +1,15 @@ +# Private log file from Postfix to read and truncate. Configured in +# /etc/rsyslog.d/prometheus-postfix-exporter.conf +POSTFIXLOGFILE=/var/lib/prometheus/postfix-exporter/mail.log + +# Extra arguments for the daemon. +ARGS='--web.listen-address {{ postfix.metrics_address }}' + +# Prometheus-postfix-exporter supports the following options: +# --postfix.showq_path string +# Path at which Postfix places its showq socket. +# (default "/var/spool/postfix/public/showq") +# --web.listen-address string +# Address to listen on for web interface and telemetry. (default ":9154") +# --web.telemetry-path string +# Path under which to expose metrics. (default "/metrics")