diff --git a/freeradius-logstats.sh b/freeradius-logstats.sh new file mode 100755 index 0000000000000000000000000000000000000000..6ed5e9f6106be1086c1f42a2ceaf8d73a4802d32 --- /dev/null +++ b/freeradius-logstats.sh @@ -0,0 +1,35 @@ +#!/bin/bash +# +# This script is supposed to be called periodically. +# It goes through the last few lines of a freeradius log and counts events. +# The resulting numbers are then reported in the simple check_mk format. +# + +# Debugging option +#set -x + +# Go into appropriate directory +cd `dirname $0` + +# Include log watch functions +. ./logwatch.functions.sh + +# Use helper function to get $log_start and $log_end for current log +lookAtLog "/var/log/freeradius/radius.log" "freeradius-logstats.db" + + +### Initialize counters ### +login_ok=0 +login_incorrect=0 + +### Do the statistics ### + +login_ok=$(getLogLines | grep ' cli ' | grep 'Login OK' | wc -l) +login_incorrect=$(getLogLines | grep ' cli ' | grep 'Login incorrect' | wc -l) + +### Report counter results ### +echo "P Freeradius-logstats login-ok=$login_ok|login-incorrect=$login_incorrect Additional metrics from freeradius" + +# That's it. +exit 0 +