mirror of
https://github.com/munin-monitoring/contrib.git
synced 2018-11-08 00:59:34 +01:00
Initial version
This commit is contained in:
parent
cf2ce33d95
commit
28512a91c3
112
plugins/other/vsftpd-rel
Executable file
112
plugins/other/vsftpd-rel
Executable file
@ -0,0 +1,112 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
# Copyright (C) 2008 Joey Schulze <joey@infodrom.org>
|
||||||
|
#
|
||||||
|
# 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; version 2 dated June, 1991.
|
||||||
|
#
|
||||||
|
# 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., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
|
||||||
|
|
||||||
|
# Source: http://www.infodrom.org/Infodrom/tools/munin.html
|
||||||
|
|
||||||
|
# Supported configuration:
|
||||||
|
#
|
||||||
|
# [vsftpd-rel]
|
||||||
|
# user root
|
||||||
|
# env.logfile /var/log/vsftpd.log
|
||||||
|
# env.logtail /usr/bin/logtail
|
||||||
|
|
||||||
|
PROGNAME=vsftpd
|
||||||
|
STATEDIR=/var/lib/munin/plugin-state
|
||||||
|
|
||||||
|
LOGFILE=${logfile:-/var/log/vsftpd.log}
|
||||||
|
LOGTAIL=${logtail:-`which logtail`}
|
||||||
|
|
||||||
|
OFFSET=${STATEDIR}/${PROGNAME}.offset
|
||||||
|
STATE=${STATEDIR}/${PROGNAME}.state
|
||||||
|
PIVOT=${STATEDIR}/${PROGNAME}.pivot
|
||||||
|
|
||||||
|
|
||||||
|
install_ok()
|
||||||
|
{
|
||||||
|
tempfile=$(which tempfile)
|
||||||
|
if [ ! -r ${LOGFILE} -o \
|
||||||
|
-z "${LOGTAIL}" -o ! -x "${LOGTAIL}" -o \
|
||||||
|
-z "${tempfile}" -o ! -x "${tempfile}" ]
|
||||||
|
then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$1" = "autoconf" ]
|
||||||
|
then
|
||||||
|
tmpfile=`which tempfile`
|
||||||
|
if install_ok
|
||||||
|
then
|
||||||
|
echo yes
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo no
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "config" ]
|
||||||
|
then
|
||||||
|
echo 'system.type ABSOLUTE'
|
||||||
|
echo 'graph_title Very Secure FTP Server'
|
||||||
|
echo 'graph_vlabel Requests'
|
||||||
|
echo 'graph_category FTP'
|
||||||
|
echo 'ftp_conn.label connections'
|
||||||
|
echo 'ftp_loginok.label successful logins'
|
||||||
|
echo 'ftp_loginfail.label failed logins'
|
||||||
|
echo 'ftp_uploadok.label successful uploads'
|
||||||
|
echo 'ftp_uploadfail.label failed uploads'
|
||||||
|
echo 'ftp_downloadok.label successful downloads'
|
||||||
|
echo 'ftp_downloadfail.label failed downloads'
|
||||||
|
echo 'ftp_deleteok.label successful deletes'
|
||||||
|
echo 'ftp_deletefail.label failed deletes'
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
test install_ok || exit 1
|
||||||
|
|
||||||
|
touch -d now-5minutes+30seconds $PIVOT
|
||||||
|
TEMP=`tempfile`
|
||||||
|
trap "rm -f ${PIVOT} ${TEMP}" INT EXIT
|
||||||
|
|
||||||
|
test -n "$TEMP" -a -w "$TEMP" || exit 1
|
||||||
|
|
||||||
|
if [ ! -s ${OFFSET} ]
|
||||||
|
then
|
||||||
|
$LOGTAIL ${LOGFILE} ${OFFSET} > ${TEMP}
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $STATE -ot $PIVOT ]
|
||||||
|
then
|
||||||
|
$LOGTAIL ${LOGFILE} ${OFFSET} > ${TEMP}
|
||||||
|
echo -n > ${STATE}
|
||||||
|
|
||||||
|
echo "ftp_conn.value $(grep 'CONNECT' ${TEMP} | wc -l)" >> $STATE
|
||||||
|
echo "ftp_loginok.value $(grep 'OK LOGIN' ${TEMP} | wc -l)" >> $STATE
|
||||||
|
echo "ftp_loginfail.value $(grep 'FAIL LOGIN' ${TEMP} | wc -l)" >> $STATE
|
||||||
|
echo "ftp_uploadok.value $(grep 'OK UPLOAD' ${TEMP} | wc -l)" >> $STATE
|
||||||
|
echo "ftp_uploadfail.value $(grep 'FAIL UPLOAD' ${TEMP} | wc -l)" >> $STATE
|
||||||
|
echo "ftp_downloadok.value $(grep 'OK DOWNLOAD' ${TEMP} | wc -l)" >> $STATE
|
||||||
|
echo "ftp_downloadfail.value $(grep 'FAIL DOWNLOAD' ${TEMP} | wc -l)" >> $STATE
|
||||||
|
echo "ftp_deleteok.value $(grep 'OK DELETE' ${TEMP} | wc -l)" >> $STATE
|
||||||
|
echo "ftp_deletefail.value $(grep 'FAIL DELETE' ${TEMP} | wc -l)" >> $STATE
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat $STATE
|
Loading…
Reference in New Issue
Block a user