- Repository
- Munin (master)
- Last change
- 2015-03-17
- Graph Categories
- Family
- contrib
- Language
- Shell
- License
- GPL-2.0-only
exim_mailqueue_alt
Name
exim_mailqueue_alt - Plugin to monitor the exim mail queue
Configuration
The following environment variables are used by this plugin:
exim - exim binary location
queuewarn - warning limit
queuecrit - critical limit
The plugin needs to be run as the same user as exim, commonly “mail”.
Example Configuration
[exim_mailqueue_alt]
user mail
env.queuewarn 2000
env.queuecrit 10000
For a Debian based system, a minimal example configuration would be:
[exim_mailqueue_alt]
user Debian-exim
Author
Unknown author
License
GPLv2
Magic Markers
#%# family=contrib
#%# capabilities=
#!/bin/sh
: << =cut
=head1 NAME
exim_mailqueue_alt - Plugin to monitor the exim mail queue
=head1 CONFIGURATION
The following environment variables are used by this plugin:
exim - exim binary location
queuewarn - warning limit
queuecrit - critical limit
The plugin needs to be run as the same user as exim, commonly "mail".
=head2 EXAMPLE CONFIGURATION
[exim_mailqueue_alt]
user mail
env.queuewarn 2000
env.queuecrit 10000
For a Debian based system, a minimal example configuration would be:
[exim_mailqueue_alt]
user Debian-exim
=head1 AUTHOR
Unknown author
=head1 LICENSE
GPLv2
=head1 MAGIC MARKERS
#%# family=contrib
#%# capabilities=
=cut
PATH='/bin:/sbin:/usr/bin:/usr/sbin'
QUEUECRIT=200
EXIM=${exim:-$(command -v exim || command -v exim4)}
QUEUEWARN=${queuewarn:-100}
QUEUECRIT=${queuecrit:-200}
if [ "$1" = "config" ]; then
echo 'graph_title Exim mailqueue'
echo 'graph_args --base 1000 -l 0'
echo 'graph_vlabel mails in queue'
echo 'graph_order frozen active bounces total'
echo 'graph_category mail'
echo 'active.label active'
echo 'active.draw STACK'
echo 'bounces.label bounces'
echo 'bounces.draw LINE2'
echo 'frozen.label frozen'
echo 'frozen.draw AREA'
echo 'total.label total'
echo 'total.draw LINE2'
echo "total.warning $QUEUEWARN"
echo "total.critical $QUEUECRIT"
exit 0
fi
$EXIM -bpr | awk 'BEGIN { bounces = 0; frozen = 0; total = 0 }
$4 == "<>" { bounces++; }
$6 == "frozen" { frozen++ }
/<[^>]*>/ { total++ }
END {
print "frozen.value " frozen;
print "bounces.value " bounces;
print "total.value " total;
print "active.value " total - frozen;
}'