[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:
|
||||
- prometheus-bird-exporter
|
||||
|
||||
# Monitor mailq with a special text exporter
|
||||
# - hosts: redisdead.adm.crans.org
|
||||
# roles: ["prometheus-node-exporter-postfix"]
|
||||
# Monitor postfix queue
|
||||
- hosts: postfix, !sputnik.adm.crans.org
|
||||
vars:
|
||||
prometheus_postfix_exporter: "{{ glob_prometheus_postfix_exporter | default({}) | combine(loc_prometheus_postfix_exporter | default({})) }}"
|
||||
roles:
|
||||
- prometheus-postfix-exporter
|
||||
|
||||
# Monitor logs with 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