Projet

Général

Profil

Paste
Télécharger au format
Statistiques
| Branche: | Révision:

root / plugins / other / amavis @ e908d2d2

Historique | Voir | Annoter | Télécharger (1,7 ko)

1 45fd9c15 Geoffroy Desvernay
#!/bin/sh
2
#
3
# Plugin to monitor the amavis mail filter.
4
#
5
# Parameters understood:
6
#
7
# 	config   (required)
8
# 	autoconf (optional)
9
#
10
# Config variables:
11
#
12
#       amavislog    - file where amavis logs are written
13
#
14
# $Log: amavis,v $
15
# Revision 1.2  2007/04/02 11:30:55  cvserver
16
# Logtail in a variable
17
#
18
19
mktempfile () {
20
mktemp -t /tmp
21
}       
22
23
AMAVIS_LOG=${logfile:-/var/log/amavis.log}
24
LOGTAIL=${logtail:-`which logtail`}
25
STATEFILE=/usr/local/var/munin/plugin-state/amavis.offset
26
27
if [ "$1" = "autoconf" ]; then
28
        if [ -f "${AMAVIS_LOG}" -a -n "${LOGTAIL}" -a -x "${LOGTAIL}" ] ; then
29
		echo yes
30
		exit 0
31
	else
32
		echo no
33
		exit 1
34
	fi
35
fi
36
37
if [ "$1" = "config" ]; then
38
	echo 'graph_title Amavis filter statistics'
39
	echo 'graph_order virus spam_maybe spam_sure total'
40
	echo 'graph_vlabel nb'
41
	echo 'virus.label virus'
42
	echo 'spam_maybe.label probably spam'
43
	echo 'spam_sure.label surely spam'
44
	echo 'total.label total'
45
	exit 0
46
fi
47
48
total=U
49
virus=U
50
spamm=U
51
spams=U
52
53
ARGS=0
54
`$LOGTAIL /etc/hosts 2>/dev/null >/dev/null`
55
if [ $? = 66 ]; then
56
    if [ ! -n "$logtail" ]; then
57
	ARGS=1
58
    fi
59
fi
60
61
TEMP_FILE=`mktempfile munin-amavis.XXXXXX`
62
63
if [ -n "$TEMP_FILE" -a -f "$TEMP_FILE" ]
64
then
65
	if [ $ARGS != 0 ]; then
66
	    $LOGTAIL ${AMAVIS_LOG} $STATEFILE | grep 'amavis\[.*\]:' > ${TEMP_FILE}
67
	else
68
	    $LOGTAIL ${AMAVIS_LOG} $STATEFILE | grep 'amavis\[.*\]:' > ${TEMP_FILE}
69
	fi
70
	total=`cat ${TEMP_FILE} | wc -l`
71
	virus=`grep INFECTED ${TEMP_FILE} | wc -l`
72
	spamm=`grep 'Passed.*Hits: 1[0-9][.]' ${TEMP_FILE} | wc -l`
73
	spams=`grep 'Passed.*Hits: [2-9][0-9][0-9]*[.]' ${TEMP_FILE} | wc -l`
74
75
	/bin/rm -f $TEMP_FILE
76
fi
77
78
echo "virus.value ${virus}"
79
echo "spam_maybe.value ${spamm}"
80
echo "spam_sure.value ${spams}"
81
echo "total.value ${total}"