mirror of
https://github.com/munin-monitoring/contrib.git
synced 2025-07-24 18:07:20 +00:00
Initial version
This commit is contained in:
parent
ee6b3d527e
commit
c7695b3112
1 changed files with 83 additions and 0 deletions
83
plugins/other/pure-ftpd-logs
Executable file
83
plugins/other/pure-ftpd-logs
Executable file
|
@ -0,0 +1,83 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
#
|
||||
# pure-ftpd plugin
|
||||
# show what the users did on your ftp server
|
||||
# made by Dju
|
||||
#
|
||||
# commands needed: logtail - grep
|
||||
#
|
||||
#
|
||||
# Parameters
|
||||
#
|
||||
# config (required)
|
||||
# autoconf (optional - used by munin-config)
|
||||
#
|
||||
#
|
||||
# Magic markers (optional - used by munin-config and installation scripts):
|
||||
#
|
||||
#%# family=auto
|
||||
#%# capabilities=autoconf
|
||||
|
||||
|
||||
LOGFILE=/var/log/syslog
|
||||
LOGTAIL=$(which logtail)
|
||||
OFFSET_FILE=/var/lib/munin/plugin-state/pure-ftpd-conns.offset
|
||||
|
||||
|
||||
if [ "$1" = "autoconf" ]; then
|
||||
if [ -f $LOGFILE ]; then
|
||||
if [ ! -z "$LOGTAIL" -a -f $LOGTAIL -a -x $LOGTAIL ]; then
|
||||
echo yes
|
||||
exit 0
|
||||
else
|
||||
echo "no (logtail not found)"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "no (logfile ${LOGFILE} does not exist)"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$1" = "config" ]; then
|
||||
echo 'graph_title Pure Ftpd Logs'
|
||||
echo 'graph_args --base 1000 -l 0'
|
||||
echo 'graph_vlabel Connections number'
|
||||
echo 'graph_category pure-ftp'
|
||||
echo 'nc.label new connection'
|
||||
echo 'al.label anonymous logged'
|
||||
echo 'ul.label auth user logged'
|
||||
echo 'af.label auth failed'
|
||||
echo 'to.label timeout'
|
||||
echo 'dl.label download'
|
||||
echo 'upl.label upload'
|
||||
exit 0
|
||||
fi
|
||||
|
||||
TMP1=`mktemp`
|
||||
$LOGTAIL -o $OFFSET_FILE $LOGFILE | grep ' pure-ftpd: ' > $TMP1
|
||||
|
||||
echo -en "nc.value "
|
||||
grep '\[INFO\] New connection from ' $TMP1 | wc -l
|
||||
|
||||
echo -en "al.value "
|
||||
grep '\[INFO\] Anonymous user logged in' $TMP1 | wc -l
|
||||
|
||||
echo -en "ul.value "
|
||||
grep '\[INFO\] .*is now logged in' $TMP1 | wc -l
|
||||
|
||||
echo -en "to.value "
|
||||
grep ' Timeout ' $TMP1 | wc -l
|
||||
|
||||
echo -en "af.value "
|
||||
grep '\[WARNING\] Authentication failed' $TMP1 | wc -l
|
||||
|
||||
echo -en "dl.value "
|
||||
grep '\[NOTICE\].* downloaded ' $TMP1 | wc -l
|
||||
|
||||
echo -en "upl.value "
|
||||
grep '\[NOTICE\].* uploaded ' $TMP1 | wc -l
|
||||
|
||||
rm $TMP1
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue