]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/munin/files/default/plugins/squid_times
Add a bunch more cookbooks
[chef.git] / cookbooks / munin / files / default / plugins / squid_times
diff --git a/cookbooks/munin/files/default/plugins/squid_times b/cookbooks/munin/files/default/plugins/squid_times
new file mode 100755 (executable)
index 0000000..c16612e
--- /dev/null
@@ -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 
+#
+# Authors
+#  . Olivier Delhomme <olivierdelhomme at gmail dot com>
+#  . Grant Slater
+#
+#%# family=auto
+#%# capabilities=autoconf
+
+if [ "$1" = "autoconf" ]; then
+       SQUID_STATS=$(squidclient -h 127.0.0.1 cache_object://localhost/info)
+       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=$(squidclient -h 127.0.0.1 cache_object://localhost/info)
+
+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"