54 lines
1.3 KiB
Bash
Executable file
54 lines
1.3 KiB
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# Plugin to monitor the amavis mail filter.
|
|
#
|
|
# Usage: Place in /etc/lrrd/client.d/ (or link it there using ln -s)
|
|
#
|
|
# Parameters understood:
|
|
#
|
|
# config (required)
|
|
# autoconf (optional)
|
|
#
|
|
# Config variables:
|
|
#
|
|
# amavislog - file where amavis logs are written
|
|
#
|
|
|
|
TEMP_FILE=/tmp/lrrd-amavis
|
|
AMAVIS_LOG=/var/log/mail/mail.info
|
|
OFFSET=/var/lib/munin/plugin-state/amavis.offset
|
|
LOGTAIL=`which logtail`
|
|
|
|
if [ "$amavislog" ]; then AMAVIS_LOG=$amavislog ; fi
|
|
|
|
if [ "$1" = "autoconf" ]; then
|
|
if [ -f ${AMAVIS_LOG} -a -x ${LOGTAIL} ] ; then
|
|
echo yes
|
|
exit 0
|
|
else
|
|
echo no
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
if [ "$1" = "config" ]; then
|
|
echo 'graph_title Amavis filter statistics'
|
|
echo 'graph_order virus spam_maybe spam_sure total'
|
|
echo 'graph_vlabel nb'
|
|
echo 'virus.label virus'
|
|
echo 'spam_maybe.label probably spam'
|
|
echo 'spam_sure.label surely spam'
|
|
echo 'total.label total'
|
|
exit 0
|
|
fi
|
|
|
|
logtail -o ${OFFSET} -f ${AMAVIS_LOG} ${OFFSET} | grep 'amavis\[.*\]:' > ${TEMP_FILE}
|
|
total=`cat ${TEMP_FILE} | wc -l`
|
|
virus=`grep infected ${TEMP_FILE} | wc -l`
|
|
spamm=`grep 'Passed.*Hits: 1[0-9][.]' ${TEMP_FILE} | wc -l`
|
|
spams=`grep 'Passed.*Hits: [2-9][0-9][0-9]*[.]' ${TEMP_FILE} | wc -l`
|
|
|
|
echo "virus.value ${virus}"
|
|
echo "spam_maybe.value ${spamm}"
|
|
echo "spam_sure.value ${spams}"
|
|
echo "total.value ${total}"
|