From 10b445b71ac5561757ec66a3479c35fa81f22b3b Mon Sep 17 00:00:00 2001 From: Olivier DELHOMME Date: Thu, 12 Jun 2008 09:11:18 +0200 Subject: [PATCH] Initial version --- plugins/other/squid_times | 61 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100755 plugins/other/squid_times diff --git a/plugins/other/squid_times b/plugins/other/squid_times new file mode 100755 index 00000000..2a2cec1b --- /dev/null +++ b/plugins/other/squid_times @@ -0,0 +1,61 @@ +#!/bin/sh +# +# Copyright (C) 2008 Olivier DELHOMME. All rights reserved. +# License GPL V2 or higher +# +# Abstract +# munin plugin that logs the cache mean services times +# Requires netcat (here nc) +# +# Authors +# . Olivier Delhomme +# +#%# 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 Median Services Times' + echo 'graph_info This graph shows the proxy median services response times.' + echo 'graph_category squid' + echo 'graph_args --lower-limit 0' + echo 'graph_vlabel median reponse times (s)' + + echo 'mean_http.label Http' + echo 'mean_cmis.label Cache misses' + echo 'mean_chits.label Cache hits' + echo 'mean_nhits.label Near hits' + echo 'mean_nmr.label Not-modified replies' + echo 'mean_dnsl.label Dns lookups' + echo 'mean_icpq.label Icp queries' + + exit 0 +fi + +SQUID_TIME=$(printf "GET cache_object://localhost/info HTTP/1.0\n\n" | nc localhost 3128) + +SQUID_TIME_HTTP=$(echo "$SQUID_TIME" | grep "HTTP Requests (All)" | cut -d':' -f2 | sed -e "s/^\ *//" | cut -d' ' -f1) +SQUID_TIME_CACHE_MISSES=$(echo "$SQUID_TIME" | grep "Cache Misses" | cut -d':' -f2 | sed -e "s/^\ *//" | cut -d' ' -f1) +SQUID_TIME_CACHE_HITS=$(echo "$SQUID_TIME" | grep "Cache Hits" | cut -d':' -f2 | sed -e "s/^\ *//" | cut -d' ' -f1) +SQUID_TIME_NEAR_HITS=$(echo "$SQUID_TIME" | grep "Near Hits" | cut -d':' -f2 | sed -e "s/^\ *//" | cut -d' ' -f1) +SQUID_TIME_NM_REPLIES=$(echo "$SQUID_TIME" | grep "Not-Modified Replies" | cut -d':' -f2 | sed -e "s/^\ *//" | cut -d' ' -f1) +SQUID_TIME_DNS_LOOKUPS=$(echo "$SQUID_TIME" | grep "DNS Lookups" | cut -d':' -f2 | sed -e "s/^\ *//" | cut -d' ' -f1) +SQUID_TIME_ICP_QUERIES=$(echo "$SQUID_TIME" | grep "ICP Queries" | cut -d':' -f2 | sed -e "s/^\ *//" | cut -d' ' -f1) + +echo "mean_http.value $SQUID_TIME_HTTP" +echo "mean_cmis.value $SQUID_TIME_CACHE_MISSES" +echo "mean_chits.value $SQUID_TIME_CACHE_HITS" +echo "mean_nhits.value $SQUID_TIME_NEAR_HITS" +echo "mean_nmr.value $SQUID_TIME_NM_REPLIES" +echo "mean_dnsl.value $SQUID_TIME_DNS_LOOKUPS" +echo "mean_icpq.value $SQUID_TIME_ICP_QUERIES" \ No newline at end of file