#!@@GOODSH@@ # -*- sh -*- set -e : << EOF =head1 NAME exim_mailqueue - Plugin to monitor exim queue size =head1 CONFIGURATION This plugin needs to run as a user that has access to run exiqgrep and examine the queue directories. This is done like this for example: [exim_*] user exim Configuration parameters for a file in @@CONFDIR@@/plugin-conf.d/ if you need to override the defaults below: [exim_mailqueue] env.exiqgrep - Use if exiqgrep is not in $PATH env.graphtitle - Title of the graph env.queuewarn - When to warn (of undelivered mails) env.queuecrit - When to crit (of undelivered mails) env.frozenwarn - When to warn (of frozen mails) env.frozencrit - When to crit (of frozen mails) =head2 DEFAULT CONFIGURATION [exim_mailqueue] env.graphtitle Exim Mailqueue env.exiqgrep env.queuewarn 100 env.queuecrit 200 env.frozenwarn 100 env.frozencrit 200 =head1 AUTHOR The original author was Audun Ytterdal, though the plugin has been heavily modified by lots of people since then. =head1 LICENSE GPLv2 =begin comment This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =end comment =head1 MAGIC MARKERS =begin comment These magic markers are used by munin-node-configure when installing munin-node. =end comment #%# family=auto #%# capabilities=autoconf =cut EOF GRAPHTITLE='Exim Mailqueue' EXIQGREP=${exiqgrep:-$(command -v exiqgrep || true)} GRAPHTITLE=${graphtitle:-$GRAPHTITLE} QUEUEWARN=${queuewarn:-100} QUEUECRIT=${queuecrit:-200} FROZENWARN=${frozenwarn:-100} FROZENCRIT=${frozencrit:-200} if [ "$1" = "autoconf" ]; then if [ ! -x "$EXIQGREP" ]; then echo "no (command exiqgrep not found)" exit 0 else echo yes exit 0 fi fi if [ "$1" = "config" ]; then echo "graph_title $GRAPHTITLE" echo 'graph_args --base 1000 -l 0' echo 'graph_vlabel mails in queue' echo 'graph_category exim' echo 'mails.label queued mails' # Use "AREASTACK" in munin 1.3.3 and later echo 'mails.draw AREA' echo "mails.warning 0:$QUEUEWARN" echo "mails.critical 0:$QUEUECRIT" echo 'mails.colour 00AA00' echo 'frozen.label frozen mails' # Use "AREASTACK" in munin 1.3.3 and later echo 'frozen.draw STACK' echo "frozen.warning 0:$FROZENWARN" echo "frozen.critical 0:$FROZENCRIT" echo 'frozen.colour 0022FF' exit 0 fi $EXIQGREP -cz | awk ' BEGIN { frozen=mails="U"; } /[0-9]+ matches out of [0-9]+ messages/ { frozen=$1; mails=($5-$1); } END { printf("frozen.value %s\nmails.value %s\n",frozen,mails); } '