From 219b679f5c373bef2b424a543e6c6eec8fabfc91 Mon Sep 17 00:00:00 2001 From: Steve Schnepp Date: Sun, 18 Mar 2012 12:34:48 +0100 Subject: [PATCH] adding a glassfish plugin with wildcard --- plugins/glassfish/glassfish_counters_ | 95 +++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 plugins/glassfish/glassfish_counters_ diff --git a/plugins/glassfish/glassfish_counters_ b/plugins/glassfish/glassfish_counters_ new file mode 100644 index 00000000..2e9ce701 --- /dev/null +++ b/plugins/glassfish/glassfish_counters_ @@ -0,0 +1,95 @@ +#!/bin/ksh +# -*- sh -*- + +: << =cut + +=head1 NAME + +glassfish_counters_ - Wildcard-plugin to monitor counters in GlassFish + +=head1 CONFIGURATION + +This plugin does need the full path to the asadmin script: + [glassfish_counters_*] + env.ASADMIN /usr/local/glassfish/bin/asadmin + +This is a wildcard plugin. To monitor an subtree, link +glassfish_counters_ to this file. E.g. + + ln -s /usr/share/munin/plugins/glassfish_counters_ \ + /etc/munin/plugins/glassfish_counters_server.web.request + +...will monitor server.web.request.* + +To ignore certain counters, just add more "IGNORE" lines on top of +the awk script. (XXX: Fixme for env.) + +=head1 AUTHOR +Philipp Buehler + +=head1 LICENSE + +BSD 2-clause + +=head1 VERSION + + $Id: glassfish_counters_.in$ + 0.0.1 + +=cut +[ -z $ASADMIN ] && { + echo "ASADMIN not set in node configuration" + exit 1 + } || MUN_AS_ADMIN=${ASADMIN} + +check_link () { + scriptname=${0##*/} + myself=${scriptname##*_} + if [ "x$myself" = "x" ] ; then + echo "plugin must be symlinked, e.g. to glassfish_counters_server.web.request" + exit 1 + fi +} + +SUBTREE=${0##*glassfish_counters_} + +case $1 in + suggest) + echo "not implemented" + exit 0 + ;; + config) + check_link + $MUN_AS_ADMIN get -t --monitor=true "${SUBTREE}.*" | \ + awk 'BEGIN{ FS="[ = ]" } + /requestcount/ { next; } # IGNORE + /dotted-name/ { myself = $NF + print "graph_title GlassFish", myself + print "graph_vlabel count" + print "graph_category glassfish" + print "graph_info this shows available counters from", myself + next + } + /-name / { nwhat = split($1, what, ".") + gsub(/-name/, "", what[nwhat]) + print what[nwhat] ".label=" $NF + } + /-description / { nwhat = split($1, what, ".") + gsub(/-description/, "", what[nwhat]) + $1 = ""; line = $0 + gsub(/^ /,"", line) + print what[nwhat] ".info=" line + } + ' + exit 0 + ;; +esac + +check_link +$MUN_AS_ADMIN get -t --monitor=true "${SUBTREE}.*" | \ +awk 'BEGIN{ FS="[ = ]" } + /requestcount/ { next;} # IGNORE + /-count / { nwhat = split($1, what, ".") + gsub(/-count/, "", what[nwhat]) + print what[nwhat] ".value=" $NF} +' \ No newline at end of file