diff --git a/plugins/other/radiator_acct_ppm b/plugins/other/radiator_acct_ppm new file mode 100755 index 00000000..22c2a139 --- /dev/null +++ b/plugins/other/radiator_acct_ppm @@ -0,0 +1,56 @@ +#!/bin/sh +# +# Plugin to monitor Radiator ACCT ppm statistics +# +# Parameters: +# +# config (required) +# autoconf (optional - only used by munin-config) +# +# Config variables: +# +# statisticsdir - Radiator ACCT statistics directory +# +# Magic markers (optional - used by munin-config and some installation +# scripts): +#%# family=auto +#%# capabilities=autoconf + +STATISTICSDIR=/usr/radius/radiator/log/STATISTICS +if [ "$statisticsdir" ]; then STATISTICSDIR=$statisticsdir ; fi + + +if [ "$1" = "autoconf" ]; then + if [ -d ${STATISTICSDIR} ] ; then + echo yes + exit 0 + else + echo no + exit 1 + fi +fi + + +if [ "$1" = "config" ]; then + echo 'graph_title Radiator ACCT packets' + echo 'graph_period minute' + echo 'graph_vlabel packets per minute' + echo 'graph_args -l 0' + echo 'graph_category radiator' + echo 'graph_info This graph displays ACCT packets of all radiator processes combined.' + # + # Count all statistics files and create labels + for COUNT in `ls $STATISTICSDIR/Statistics-acct* | sed -r 's/acct([1-9]{1})\.log$/acct0\1\.log/g' | sort | awk -F"acct" '{print $2}' | sed 's/\.log//g'`; do + echo 'radiator'$COUNT'.label radiator_'$COUNT' ' + echo 'radiator'$COUNT'.type DERIVE' + echo 'radiator'$COUNT'.min 0' + echo 'radiator'$COUNT'.info radiator proc '$COUNT + done + exit 0 +fi + +# Print values for all statistics files +for FILE in `ls $STATISTICSDIR/Statistics-acct* | sed -r 's/acct([1-9]{1})\.log$/acct0\1\.log/g' | sort`; do + echo -n radiator`echo $FILE | awk -F"acct" '{print $2}' | sed 's/\.log//g'`".value " + grep "ServerConfig" `echo $FILE | sed -r 's/acct[0]([1-9])\.log$/acct\1\.log/g'` | tail -1 | awk -F"|" '{print $2}' +done