1
0
Fork 0
mirror of https://github.com/munin-monitoring/contrib.git synced 2025-07-26 02:48:28 +00:00

Merge pull request #929 from sumpfralle/plugin-postfix-rbl-blocked-mails

Plugin postfix-rbl-blocked-mails: various improvements
This commit is contained in:
Lars Kruse 2018-08-04 12:02:41 +02:00 committed by GitHub
commit 5b2396a972
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,45 +1,52 @@
#!/bin/bash #!/bin/sh
# #
# Made by Stefan Bühler, Switzerland # Made by Stefan Bühler, Switzerland
# Monitor blocked Mails during Postfix RBL Scan, included Spamhaus, Spamcop, Manitu, MSRBL, NJABL # Monitor blocked Mails during Postfix RBL Scan, included Spamhaus, Spamcop, Manitu, MSRBL, NJABL
LOGFILE=${logfile:-/var/log/mail.log} # Allow user to specify logfile through env.logfile # Allow user to specify logfile through env.logfile
DATE=`date '+%b %e %H'` LOGFILE=${logfile:-/var/log/mail.log}
MAXLABEL=20 DATE=$(date '+%b %e %H')
get_blocked_by_domain_count() {
local escaped_domain
# escape dots - for a proper regular expression
escaped_domain=$(echo "$1" | sed 's/\./\\./g')
grep -c "$DATE.*blocked using [^ ]*${escaped_domain}" "$LOGFILE"
}
if [ "$1" = "autoconf" ]; then if [ "$1" = "autoconf" ]; then
if [[ -r $LOGFILE ]]; then if [ -r "$LOGFILE" ]; then
echo yes echo yes
else else
echo no echo "no (log file not found: $LOGFILE)"
fi fi
exit 0 exit 0
fi fi
if [ "$1" = "config" ]; then if [ "$1" = "config" ]; then
echo 'graph_title RBL Counter'
echo 'graph_title RBL Counter' echo 'graph_category mail'
echo 'graph_category mail' echo 'graph_args --base 1000 -l 0'
echo 'graph_args --base 1000 -l 0' echo 'graph_vlabel block during RBL'
echo 'graph_vlabel block during RBL' echo 'spamhaus.label Blocked by Spamhaus.org'
echo 'spamhaus.label Blocked by Spamhaus.org' echo 'spamcop.label Blocked by Spamcop'
echo 'spamcop.label Blocked by Spamcop' echo 'manitu.label Blocked by manitu.net'
echo 'manitu.label Blocked by manitu.net' echo 'msrbl.label Blocked by msrbl.net'
echo 'msrbl.label Blocked by msrbl.net' echo 'njabl.label Blocked by njabl.org'
echo 'njabl.label Blocked by njabl.org' exit 0
exit 0
fi fi
echo -en "spamhaus.value " # sbl-xbl.spamhaus.org or zen.spamhaus.org
echo $(grep "blocked using sbl-xbl.spamhaus.org" $LOGFILE | grep "$DATE" | wc -l) printf 'spamhaus.value %s\n' "$(get_blocked_by_domain_count "spamhaus.org")"
echo -en "spamcop.value " # bl.spamcop.net
echo $(grep "blocked using bl.spamcop.net" $LOGFILE | grep "$DATE" | wc -l) printf 'spamcop.value %s\n' "$(get_blocked_by_domain_count "spamcop.net")"
echo -en "manitu.value " # ix.dnsbl.manitu.net
echo $(grep "blocked using ix.dnsbl.manitu.net" $LOGFILE | grep "$DATE" | wc -l) printf 'manitu.value %s\n' "$(get_blocked_by_domain_count "manitu.net")"
echo -en "msrbl.value " # combined.rbl.msrbl.net
echo $(grep "blocked using combined.rbl.msrbl.net" $LOGFILE | grep "$DATE" | wc -l) printf 'msrbl.value %s\n' "$(get_blocked_by_domain_count "msrbl.net")"
echo -en "njabl.value " # combined.njabl.org
echo $(grep "blocked using combined.njabl.org" $LOGFILE | grep "$DATE" | wc -l) printf 'njabl.value %s\n' "$(get_blocked_by_domain_count "njabl.org")"