/usr/share/munin/plugins/exim_mailqueue is in munin-node 1.4.6-3ubuntu3.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | #!/bin/sh
# -*- sh -*-
: << 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 /etc/munin/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 <autodetected>
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
# You cannot trust the exit status of which
EXIQGREP=$(which exiqgrep 2>/dev/null)
case $EXIQGREP:$? in
*:1|no*) EXIQGREP=''
esac
GRAPHTITLE='Exim Mailqueue'
EXIQGREP=${exiqgrep:-$EXIQGREP}
GRAPHTITLE=${graphtitle:-$GRAPHTITLE}
QUEUEWARN=${queuewarn:-100}
QUEUECRIT=${queuecrit:-200}
FROZENWARN=${frozenwarn:-100}
FROZENCRIT=${frozencrit:-200}
if [ "$1" = "autoconf" ]; then
if [ -z "$EXIQGREP" ]; then
echo "no (no exiqgrep)"
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 STACK'
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 AREA'
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); }
'
|