107 lines
2.5 KiB
Plaintext
107 lines
2.5 KiB
Plaintext
|
#!/bin/sh
|
||
|
#
|
||
|
# Plugin to monitor exim queue size
|
||
|
#
|
||
|
# Usage: Copy or link into /etc/munin/node.d/
|
||
|
#
|
||
|
# Parameters:
|
||
|
#
|
||
|
# config (required)
|
||
|
# autoconf (optional - used by munin-config)
|
||
|
#
|
||
|
# Config variables:
|
||
|
#
|
||
|
# spooldir - Override what exim says
|
||
|
# exim - Where's exim?
|
||
|
# queuewarn - When to warn
|
||
|
# queuecrit - When to crit
|
||
|
#
|
||
|
# $Log$
|
||
|
# Revision 1.4 2004/11/10 15:47:10 jimmyo
|
||
|
# Made graph_title a parameter for generic/exim_mailqueue (patch by Torstein T. Svendsen, SF#1060834).
|
||
|
#
|
||
|
# Revision 1.3 2004/05/20 13:57:12 jimmyo
|
||
|
# Set categories to some of the plugins.
|
||
|
#
|
||
|
# Revision 1.2 2004/01/29 19:39:00 jimmyo
|
||
|
# Generic plugins now use printf instead of echo -n, as this is more portable (SF#885564)
|
||
|
#
|
||
|
# Revision 1.1 2004/01/02 18:50:00 jimmyo
|
||
|
# Renamed occurrances of lrrd -> munin
|
||
|
#
|
||
|
# Revision 1.1.1.1 2004/01/02 15:18:07 jimmyo
|
||
|
# Import of LRRD CVS tree after renaming to Munin
|
||
|
#
|
||
|
# Revision 1.5 2003/11/07 17:43:16 jimmyo
|
||
|
# Cleanups and log entries
|
||
|
#
|
||
|
#
|
||
|
#
|
||
|
# Magic markers (optional - used by installation scripts and
|
||
|
# munin-config):
|
||
|
#
|
||
|
#%# family=auto
|
||
|
#%# capabilities=autoconf
|
||
|
|
||
|
DIRNAME=`dirname $0`
|
||
|
SPOOLDIR='/var/spool/exim'
|
||
|
#EXIM=`which exim 2>/dev/null || which exim4 2>/dev/null`
|
||
|
EXIM='/usr/exim/bin/exim'
|
||
|
QUEUEWARN=100
|
||
|
QUEUECRIT=200
|
||
|
GRAPHTITLE='Exim Mailqueue'
|
||
|
|
||
|
if [ "$spooldir" ]; then SPOOLDIR=$spooldir ; fi
|
||
|
if [ "$exim" ]; then EXIM=$exim ; fi
|
||
|
if [ "$queuewarn" ]; then QUEUEWARN=$queuewarn; fi
|
||
|
if [ "$queuecrit" ]; then QUEUECRIT=$queuecrit; fi
|
||
|
if [ "$graphtitle" ]; then GRAPHTITLE=$graphtitle; fi
|
||
|
|
||
|
if [ "$SPOOLDIR" = "unset" ]
|
||
|
then
|
||
|
SPOOLDIR=`($EXIM -bP spool_directory | awk '{ print $3 "/input" }') 2>/dev/null`
|
||
|
fi
|
||
|
|
||
|
if [ "$1" = "autoconf" ]; then
|
||
|
if ( $EXIM -bV 2>/dev/null >/dev/null ); then
|
||
|
if ( /usr/bin/find $SPOOLDIR -iname "*-H" -print 2>/dev/null >/dev/null ); then
|
||
|
echo yes
|
||
|
exit 0
|
||
|
else
|
||
|
if [ $? -eq 1 ]; then
|
||
|
echo "no (permission denied on spooldir)"
|
||
|
exit 1
|
||
|
else
|
||
|
echo "no"
|
||
|
exit 1
|
||
|
fi
|
||
|
fi
|
||
|
else
|
||
|
if [ $? -eq 127 ]
|
||
|
then
|
||
|
echo "no (exim not found)"
|
||
|
exit 1
|
||
|
else
|
||
|
echo no
|
||
|
exit 1
|
||
|
fi
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
if [ "$1" = "config" ]; then
|
||
|
if [ ! -z $SPOOLDIR ];then
|
||
|
echo "graph_title $GRAPHTITLE"
|
||
|
echo 'graph_args --base 1000 -l 0'
|
||
|
echo 'graph_vlabel mails in queue'
|
||
|
echo 'graph_category Mail'
|
||
|
echo 'mails.label mails'
|
||
|
echo 'mails.draw AREA'
|
||
|
echo "mails.warning $QUEUEWARN"
|
||
|
echo "mails.critical $QUEUECRIT"
|
||
|
fi;
|
||
|
exit 0
|
||
|
fi
|
||
|
|
||
|
printf "mails.value "
|
||
|
/usr/bin/find $SPOOLDIR -iname "*-H" -print 2>/dev/null |wc -l | sed 's/ *//'
|