2
0
mirror of https://github.com/munin-monitoring/contrib.git synced 2018-11-08 00:59:34 +01:00
contrib-munin/plugins/other/postfix_mail_stats
2011-12-18 15:10:16 +01:00

63 lines
1.9 KiB
Bash
Executable File

#!/usr/local/bin/bash
#
# Made by Boudewijn Ector, for Boudewijn Ector IT.
# Comments can be sent to (boudewijn<AT>boudewijnector'dot'NL)
# Loosely based on http://munin.projects.linpro.no/attachment/wiki/PluginCat/postfix_messages_hourly.txt
# Script to show postfix stuff
#
# Parameters understood:
#
# config (required)
# autoconf (optional - used by munin-config)
#
#
# Magic markers (optional - used by munin-config and installation
# scripts):
#
#%# family=auto
#%# capabilities=autoconf
LOGFILE=/var/log/maillog
DATE=`date '+%b %e %H'`
MAXLABEL=20
if [ "$1" = "autoconf" ]; then
echo yes
exit 0
fi
if [ "$1" = "config" ]; then
echo 'graph_title Postfix Mail Counter'
echo 'graph_args --base 1000 -l 0'
echo 'graph_vlabel Hourly Messages'
echo 'recieved.label Delivered'
echo 'sent.label Outgoing'
echo 'rejecthelo.label Invalid HELO'
echo 'rejectsenderdomain.label need FQDN'
echo 'denyrelay.label Relay Denied'
echo 'spamhaus.label Blocked using Spamhaus.org'
echo 'spamcop.label Blocked using Spamcop'
exit 0
fi
echo -en "recieved.value "
echo $(grep "status=sent (delivered to maildir)" $LOGFILE | grep "$DATE" | wc -l)
echo -n
echo -en "sent.value "
echo $(grep "status=sent (250" $LOGFILE | grep "$DATE" | wc -l)
echo -en "rejecthelo.value "
echo $(grep "Helocommand rejected: need fully-qualified hostname" $LOGFILE | grep "$DATE" | wc -l)
echo -en "rejectsenderdomain.value "
echo $(grep "Sender address rejected: Domain not found" $LOGFILE | grep "$DATE" | wc -l)
echo -en "denyrelay.value "
echo $(grep "Relay access denied" $LOGFILE | grep "$DATE" | wc -l)
echo -en "spamhaus.value "
echo $(grep "blocked using sbl-xbl.spamhaus.org" $LOGFILE | grep "$DATE" | wc -l)
echo -en "spamcop.value "
echo $(grep "blocked using bl.spamcop.net" $LOGFILE | grep "$DATE" | wc -l)