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