Stats are based on pflogsumm (http://jimsun.linxnet.com/postfix_contrib.html), which is a small perl program.
(i actually use the german version: http://postfix.state-of-mind.de/patr...ter/pflogsumm/)
-----
crontab:
*/30 * * * * /usr/local/bin/postfixstats.sh > /tmp/postfixstats.log
--
The stats are build every 30 minutes from cron and the results stored in /tmp/postfixstats.log
-----
/usr/local/bin/postfixstats.sh:
#!/bin/bash
# show highlevel Postfix stats from yesterday
PFLOG=/var/log/mail
/usr/local/bin/pflogsumm -d today -h 0 -u 0 --no_bounce_detail --no_deferral_detail --no_reject_detail --no_no_msg_size --no_smtpd_warnings $PFLOG
--
Call pflogsumm with my set of params (see man pflogsumm).
BTW: my mail file is logrotated
-----
zabbix_agentd.conf:
UserParameter=postfix[empfangen],grep -m 1 empfangen /tmp/postfixstats.log|cut -f1 -d"e"
UserParameter=postfix[zugestellt],grep -m 1 zugestellt /tmp/postfixstats.log|cut -f1 -d"z"
UserParameter=postfix[weitergeleitet],grep -m 1 weitergeleitet /tmp/postfixstats.log|cut -f1 -d"w"
UserParameter=postfix[zurueckgewiesen],grep -m 1 ckgewiesen /tmp/postfixstats.log|cut -f1 -d"z"
UserParameter=postfix[zurueckgeworfen],grep -m 1 ckgeworfen /tmp/postfixstats.log|cut -f1 -d"z"
UserParameter=postfix[abgelehnt],grep -m 1 abgelehnt /tmp/postfixstats.log|cut -f1 -d"a"
UserParameter=postfix[Ablehnungswarnungen],grep -m 1 Ablehnungswarnungen /tmp/postfixstats.log|cut -f1 -d"A"
UserParameter=postfix[wartend],grep -m 1 wartend /tmp/postfixstats.log|cut -f1 -d"w"
UserParameter=postfix[verworfen],grep -m 1 verworfen /tmp/postfixstats.log|cut -f1 -d"v"
UserParameter=postfix[byteszugestellt],grep -m 1 "bytes zugestellt" /tmp/postfixstats.log|cut -f1 -d"k"
UserParameter=postfix[Empfaenger],grep -m 1 Empf /tmp/postfixstats.log|cut -f1 -d"E"
--
I grep stat data from postfixstats.log and extract numeric data
best regards
Vipo
(i actually use the german version: http://postfix.state-of-mind.de/patr...ter/pflogsumm/)
-----
crontab:
*/30 * * * * /usr/local/bin/postfixstats.sh > /tmp/postfixstats.log
--
The stats are build every 30 minutes from cron and the results stored in /tmp/postfixstats.log
-----
/usr/local/bin/postfixstats.sh:
#!/bin/bash
# show highlevel Postfix stats from yesterday
PFLOG=/var/log/mail
/usr/local/bin/pflogsumm -d today -h 0 -u 0 --no_bounce_detail --no_deferral_detail --no_reject_detail --no_no_msg_size --no_smtpd_warnings $PFLOG
--
Call pflogsumm with my set of params (see man pflogsumm).
BTW: my mail file is logrotated
-----
zabbix_agentd.conf:
UserParameter=postfix[empfangen],grep -m 1 empfangen /tmp/postfixstats.log|cut -f1 -d"e"
UserParameter=postfix[zugestellt],grep -m 1 zugestellt /tmp/postfixstats.log|cut -f1 -d"z"
UserParameter=postfix[weitergeleitet],grep -m 1 weitergeleitet /tmp/postfixstats.log|cut -f1 -d"w"
UserParameter=postfix[zurueckgewiesen],grep -m 1 ckgewiesen /tmp/postfixstats.log|cut -f1 -d"z"
UserParameter=postfix[zurueckgeworfen],grep -m 1 ckgeworfen /tmp/postfixstats.log|cut -f1 -d"z"
UserParameter=postfix[abgelehnt],grep -m 1 abgelehnt /tmp/postfixstats.log|cut -f1 -d"a"
UserParameter=postfix[Ablehnungswarnungen],grep -m 1 Ablehnungswarnungen /tmp/postfixstats.log|cut -f1 -d"A"
UserParameter=postfix[wartend],grep -m 1 wartend /tmp/postfixstats.log|cut -f1 -d"w"
UserParameter=postfix[verworfen],grep -m 1 verworfen /tmp/postfixstats.log|cut -f1 -d"v"
UserParameter=postfix[byteszugestellt],grep -m 1 "bytes zugestellt" /tmp/postfixstats.log|cut -f1 -d"k"
UserParameter=postfix[Empfaenger],grep -m 1 Empf /tmp/postfixstats.log|cut -f1 -d"E"
--
I grep stat data from postfixstats.log and extract numeric data
best regards
Vipo

Comment