[prometheus-postfix-exporter] Deploy new prometheus exporter
parent
052519e85e
commit
a78146e506
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
glob_prometheus_postfix_exporter:
|
||||||
|
listen_addr: "{{ query('ldap', 'ip4', ansible_hostname, 'adm') }}"
|
|
@ -55,9 +55,12 @@
|
||||||
roles:
|
roles:
|
||||||
- prometheus-bird-exporter
|
- prometheus-bird-exporter
|
||||||
|
|
||||||
# Monitor mailq with a special text exporter
|
# Monitor postfix queue
|
||||||
# - hosts: redisdead.adm.crans.org
|
- hosts: postfix, !sputnik.adm.crans.org
|
||||||
# roles: ["prometheus-node-exporter-postfix"]
|
vars:
|
||||||
|
prometheus_postfix_exporter: "{{ glob_prometheus_postfix_exporter | default({}) | combine(loc_prometheus_postfix_exporter | default({})) }}"
|
||||||
|
roles:
|
||||||
|
- prometheus-postfix-exporter
|
||||||
|
|
||||||
# Monitor logs with mtail
|
# Monitor logs with mtail
|
||||||
- hosts: mtail
|
- hosts: mtail
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Description: Expose metrics from postfix.
|
|
||||||
#
|
|
||||||
# Author: Alexandre Iooss <erdnaxe@crans.org>
|
|
||||||
|
|
||||||
mailq_length="$(/usr/bin/mailq | grep "[^ ]*@crans.org" | wc -l)"
|
|
||||||
|
|
||||||
echo '# HELP postfix_mailq_length Pending mails in mailq.'
|
|
||||||
echo '# TYPE postfix_mailq_length gauge'
|
|
||||||
echo "postfix_mailq_length ${mailq_length}"
|
|
|
@ -1,6 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Collect postfix metrics for prometheus-node-exporter
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
ExecStart=/bin/bash -c "/usr/share/prometheus-node-exporter/postfix.sh | sponge /var/lib/prometheus/node-exporter/postfix.prom"
|
|
|
@ -1,9 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Run postfix metrics collection every 15 minutes
|
|
||||||
|
|
||||||
[Timer]
|
|
||||||
OnBootSec=0
|
|
||||||
OnUnitActiveSec=15min
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=timers.target
|
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
# Install Postfix textfile collector, in bullseye you will have postfix exporter
|
|
||||||
- name: Install Postfix textfile collector
|
|
||||||
copy:
|
|
||||||
src: "{{ item.src }}"
|
|
||||||
dest: "{{ item.dest }}"
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "{{ item.mode }}"
|
|
||||||
loop:
|
|
||||||
- src: postfix.sh
|
|
||||||
dest: /usr/share/prometheus-node-exporter/postfix.sh
|
|
||||||
mode: "0755"
|
|
||||||
- src: prometheus-node-exporter-postfix.service
|
|
||||||
dest: /etc/systemd/system/prometheus-node-exporter-postfix.service
|
|
||||||
mode: "0644"
|
|
||||||
- src: prometheus-node-exporter-postfix.timer
|
|
||||||
dest: /etc/systemd/system/prometheus-node-exporter-postfix.timer
|
|
||||||
mode: "0644"
|
|
||||||
|
|
||||||
- name: Activate prometheus-node-exporter-postfix timer
|
|
||||||
systemd:
|
|
||||||
name: prometheus-node-exporter-postfix.timer
|
|
||||||
enabled: true
|
|
||||||
state: started
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
- name: systemctl restart prometheus-postfix-exporter.service
|
||||||
|
service:
|
||||||
|
name: prometheus-postfix-exporter
|
||||||
|
state: restarted
|
|
@ -0,0 +1,22 @@
|
||||||
|
---
|
||||||
|
- name: apt install prometheus-postfix-exporter
|
||||||
|
apt:
|
||||||
|
update_cache: true
|
||||||
|
name: prometheus-postfix-exporter
|
||||||
|
install_recommends: false
|
||||||
|
register: apt_result
|
||||||
|
retries: 3
|
||||||
|
until: apt_result is succeeded
|
||||||
|
|
||||||
|
- name: edit /etc/default/prometheus-postfix-exporter
|
||||||
|
lineinfile:
|
||||||
|
path: /etc/default/prometheus-postfix-exporter
|
||||||
|
regexp: ^ARGS=
|
||||||
|
line: |
|
||||||
|
ARGS="--web.listen-address={{ prometheus_postfix_exporter.listen_addr }}:9154"
|
||||||
|
notify: systemctl restart prometheus-postfix-exporter.service
|
||||||
|
|
||||||
|
- name: rotate /var/lib/prometheus/postfix-exporter/
|
||||||
|
template:
|
||||||
|
src: logrotate.d/prometheus-postfix-exporter.j2
|
||||||
|
dest: /etc/logrotate.d/prometheus-postfix-exporter
|
|
@ -0,0 +1,11 @@
|
||||||
|
/var/lib/prometheus/postfix-exporter/mail.log {
|
||||||
|
weekly
|
||||||
|
rotate 2
|
||||||
|
copytruncate
|
||||||
|
notifempty
|
||||||
|
missingok
|
||||||
|
create 0640 prometheus prometheus
|
||||||
|
postrotate
|
||||||
|
/usr/lib/rsyslog/rsyslog-rotate
|
||||||
|
endscript
|
||||||
|
}
|
Loading…
Reference in New Issue