1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
#!/bin/bash
#
# Plugin to monitor Exim's mail queue
#
# Usage: Link into /etc/munin/plugins/
#
# Requirements:
#
# Needs to be run as user mail
#
# Parameters:
#
# config (required)
#
# Configurable variables:
#
# exim - exim binary location
# queuewarn - warning limit
# queuecrit - critical limit
#
# $Log$
# Revision 1.1 2004/12/09 20:03:26 jimmyo
# Added two new plugins contributed by Jacques Caruso, generic/exim_mailqueue_alt and generic/mailscanner.
#
#
# Magic markers:
#%# family=contrib
#%# capabilities=
PATH='/bin:/sbin:/usr/bin:/usr/sbin'
EXIM=`which exim 2>/dev/null || which exim4 2>/dev/null`
QUEUEWARN=100
QUEUECRIT=200
[ "$exim" ] && EXIM=$exim
[ "$queuewarn" ] && QUEUEWARN=$queuewarn
[ "$queuecrit" ] && QUEUECRIT=$queuecrit
if [ "$1" == "config" ]; then
echo 'graph_title Exim mailqueue'
echo 'graph_args --base 1000 -l 0'
echo 'graph_vlabel mails in queue'
echo 'graph_category exim'
echo 'active.label active'
echo 'active.draw LINE2'
echo 'bounced.label bounced'
echo 'bounced.draw LINE2'
echo 'frozen.label frozen'
echo 'frozen.draw LINE2'
echo 'total.label total'
echo 'total.draw LINE2'
echo "total.warning $QUEUEWARN"
echo "total.critical $QUEUECRIT"
exit 0
fi
ACTIVE=`$EXIM -bpr | grep -Ev '(^\ \ |^$|<>|frozen)' | wc -l`
BOUNCED=`$EXIM -bpr | awk '{print $4}' | grep '<>' | wc -l`
FROZEN=`$EXIM -bpr | awk '{print $6}' | grep frozen | wc -l`
TOTAL=`$EXIM -bpc`
echo "active.value $ACTIVE"
echo "bounced.value $BOUNCED"
echo "frozen.value $FROZEN"
echo "total.value $TOTAL"
|