mirror of
https://github.com/munin-monitoring/contrib.git
synced 2025-07-21 18:41:03 +00:00
Category Tree: reduce number of categories
This commit is contained in:
parent
84c28707eb
commit
c4b2d9a8e3
22 changed files with 377 additions and 377 deletions
110
plugins/amavis/amavis-debian
Executable file
110
plugins/amavis/amavis-debian
Executable file
|
@ -0,0 +1,110 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Plugin to monitor the amavis mail filter for Debian
|
||||
# (based upon a plugin authored by Geoffroy Desvernay)
|
||||
#
|
||||
# This plugin is built and tested on Debian Etch using:
|
||||
# munin 1.2.5-1
|
||||
# amavisd-new 2.4.2-6.1
|
||||
#
|
||||
# With some minor modification it should also work on non-debian systems
|
||||
# This, however, is up to you
|
||||
#
|
||||
# Munin graph will sum up: Passed CLEAN, Blocked VIRUS, Blocked SPAM, Other
|
||||
#
|
||||
# Parameters understood:
|
||||
# config (required)
|
||||
# autoconf (optional)
|
||||
#
|
||||
# Config variables:
|
||||
# AMAVIS_LOG - file where amavis logs are written
|
||||
# STATEFILE - file which is needed to keep track of AMAVIS_LOG
|
||||
# LOGTAIL - location of logtail
|
||||
# BC - location of bc
|
||||
#
|
||||
# Enjoy!
|
||||
# Fili Wiese
|
||||
#
|
||||
|
||||
AMAVIS_LOG=${logfile:-/var/log/mail.log}
|
||||
STATEFILE=/var/lib/munin/plugin-state/amavis.offset
|
||||
LOGTAIL=${logtail:-`which logtail`}
|
||||
BC=${bc:-`which bc`}
|
||||
|
||||
mktempfile () {
|
||||
mktemp
|
||||
}
|
||||
|
||||
if [ "$1" = "autoconf" ]; then
|
||||
if [ -f "${AMAVIS_LOG}" -a -n "${LOGTAIL}" -a -x "${LOGTAIL}" -a -n "${BC}" -a -x "${BC}" ] ; then
|
||||
echo yes
|
||||
exit 0
|
||||
else
|
||||
echo no
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$1" = "config" ]; then
|
||||
echo 'graph_title Amavis filter statistics'
|
||||
echo 'graph_category antivirus'
|
||||
echo 'graph_order total clean spam virus other'
|
||||
echo 'graph_vlabel Mails filtered'
|
||||
echo 'graph_scale no'
|
||||
echo 'total.label Total'
|
||||
echo 'total.draw AREA'
|
||||
echo 'total.colour DDDDDD'
|
||||
echo 'clean.label Passed CLEAN'
|
||||
echo 'clean.draw LINE1'
|
||||
echo 'clean.colour 32FA00'
|
||||
echo 'spam.label Blocked SPAM'
|
||||
echo 'spam.draw LINE1'
|
||||
echo 'spam.colour FF0000'
|
||||
echo 'virus.label Blocked VIRUS'
|
||||
echo 'virus.draw LINE1'
|
||||
echo 'virus.colour 880088'
|
||||
echo 'other.label Other'
|
||||
echo 'other.draw LINE1'
|
||||
echo 'other.colour 0099FF'
|
||||
exit 0
|
||||
fi
|
||||
|
||||
clean=0
|
||||
virus=0
|
||||
spams=0
|
||||
other=0
|
||||
total=0
|
||||
|
||||
ARGS=0
|
||||
`$LOGTAIL /etc/hosts 2>/dev/null >/dev/null`
|
||||
if [ $? = 66 ]; then
|
||||
if [ ! -n "$logtail" ]; then
|
||||
ARGS=1
|
||||
fi
|
||||
fi
|
||||
|
||||
TEMP_FILE=`mktempfile munin-amavis.XXXXXX`
|
||||
|
||||
if [ -n "$TEMP_FILE" -a -f "$TEMP_FILE" ]
|
||||
then
|
||||
if [ $ARGS != 0 ]; then
|
||||
$LOGTAIL ${AMAVIS_LOG} $STATEFILE | grep 'amavis\[.*\]:' | grep -v 'TIMED OUT' > ${TEMP_FILE}
|
||||
else
|
||||
$LOGTAIL ${AMAVIS_LOG} $STATEFILE | grep 'amavis\[.*\]:' | grep -v 'TIMED OUT' > ${TEMP_FILE}
|
||||
fi
|
||||
total=`cat ${TEMP_FILE} | wc -l`
|
||||
clean=`grep 'CLEAN' ${TEMP_FILE} | wc -l`
|
||||
virus=`grep 'INFECTED' ${TEMP_FILE} | wc -l`
|
||||
spam=`grep 'Blocked SPAM' ${TEMP_FILE} | wc -l`
|
||||
other=`echo ${total}-${clean}-${virus}-${other}-${spam} | ${BC}`
|
||||
|
||||
/bin/rm -f $TEMP_FILE
|
||||
fi
|
||||
|
||||
|
||||
echo "clean.value ${clean}"
|
||||
echo "virus.value ${virus}"
|
||||
echo "spam.value ${spam}"
|
||||
echo "other.value ${other}"
|
||||
echo "total.value ${total}"
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue