106 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			106 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/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/ *//'
 |