Directory : /etc/munin/plugins/ |
|
Current File : //etc/munin/plugins/exim_mailqueue |
#!/usr/bin/sh
# -*- 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 /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
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); }
'
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]