#!/bin/sh # # Copyright (C) 2006 Benjamin Schweizer. All rights reserved. # # # Abstract # ~~~~~~~~ # munin plugin that logs the cache efficiency # # Authors # ~~~~~~~ # Benjamin Schweizer # # Changes # ~~~~~~~ # 2006-10-11, schweizer: initial release. # # Todo # ~~~~ # - we'll see # #%# family=auto #%# capabilities=autoconf if [ "$1" = "autoconf" ]; then SQUID_STATS=`printf "GET cache_object://localhost/info HTTP/1.0\n\n" | netcat localhost 3128` if [ -n "${SQUID_STATS}" ]; then echo yes exit 0 else echo "no (HTTP GET failed)" exit 1 fi fi if [ "$1" = "config" ]; then echo 'graph_title Squid Efficiency' echo 'graph_info This graph shows the proxy efficiency.' echo 'graph_category squid' echo "graph_args --lower-limit 0 --upper-limit 100" echo 'graph_vlabel %' # echo 'graph_scale no' # echo "graph_order request5 request60 byte5 byte60" echo 'request5.label request5' # echo 'request5.draw AREA' # echo 'request5.max 100' # echo 'request5.min 0' # echo 'request5.type DERIVE' echo "request5.info request5" echo 'request60.label request60' # echo 'request60.draw AREA' # echo 'request60.max 100' # echo 'request60.min 0' # echo 'request60.type DERIVE' echo "request60.info request5" echo 'byte5.label byte5' # echo 'byte5.draw AREA' # echo 'byte5.max 100' # echo 'byte5.min 0' # echo 'byte5.type DERIVE' echo "byte5.info request5" echo 'byte60.label byte60' # echo 'byte60.draw AREA' # echo 'byte60.max 100' # echo 'byte60.min 0' # echo 'byte60.type DERIVE' echo "byte60.info request5" exit 0 fi SQUID_STATS=`printf "GET cache_object://localhost/info HTTP/1.0\n\n" | netcat localhost 3128` # Request Hit Ratios: 5min: 0.0%, 60min: 17.4% # Byte Hit Ratios: 5min: 75.0%, 60min: 12.0% SQUID_REQUEST_HIT_5=`echo "$SQUID_STATS" | grep "Request Hit Ratios" | cut -d ":" -f3 | cut -d "." -f1` SQUID_REQUEST_HIT_60=`echo "$SQUID_STATS" | grep "Request Hit Ratios" | cut -d ":" -f4 | cut -d "." -f1` SQUID_BYTE_HIT_5=`echo "$SQUID_STATS" | grep "Byte Hit Ratios" | cut -d ":" -f3 | cut -d "." -f1` SQUID_BYTE_HIT_60=`echo "$SQUID_STATS" | grep "Byte Hit Ratios" | cut -d ":" -f4 | cut -d "." -f1` echo "request5.value${SQUID_REQUEST_HIT_5}" echo "request60.value${SQUID_REQUEST_HIT_60}" echo "byte5.value${SQUID_BYTE_HIT_5}" echo "byte60.value${SQUID_BYTE_HIT_60}" # eof.