From 47e6e7c84f008a53061e661f31ae96629bc694ef Mon Sep 17 00:00:00 2001 From: Igor Pashev Date: Sun, 26 Oct 2014 12:33:50 +0400 Subject: Debian 3.9.10 --- src/pmdas/weblog/Web.Perserver.Bytes.pmchart | 90 ++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100755 src/pmdas/weblog/Web.Perserver.Bytes.pmchart (limited to 'src/pmdas/weblog/Web.Perserver.Bytes.pmchart') diff --git a/src/pmdas/weblog/Web.Perserver.Bytes.pmchart b/src/pmdas/weblog/Web.Perserver.Bytes.pmchart new file mode 100755 index 0000000..1f57a27 --- /dev/null +++ b/src/pmdas/weblog/Web.Perserver.Bytes.pmchart @@ -0,0 +1,90 @@ +#!/bin/sh + +. $PCP_DIR/etc/pcp.env + +tmp=`mktemp -d /var/tmp/pcp.XXXXXXXXX` || exit 1 +trap "rm -rf $tmp; exit" 0 1 2 3 15 + +echo "/\"/s///g" >$tmp/sed + +pmprobe -I $* web.perserver.bytes.cached.total web.perserver.bytes.total > $tmp/pmprobe +l1=`head -n 1 $tmp/pmprobe` +l2=`tail -n 1 $tmp/pmprobe` + +num_caches=`echo $l1 | cut -f2 -d\ ` +num_servers=`echo $l2 | cut -f2 -d\ ` +if [ $num_servers -gt 0 ] +then + caches=`echo $l1 | cut -f3- -d\ ` + servers=`echo $l2 | cut -f3- -d\ ` + + if [ $num_caches -lt 0 ] + then + # an old pmda - quietly handle all servers as if they were CERN - show only totals + caches="NeVeR_MaTcH" + num_caches=0 + fi +elif [ $num_servers -eq 0 ] +then + $PCP_XCONFIRM_PROG -c -B OK -header "No Active Servers - cannot continue" \ + -t "$message" \ + -icon info > /dev/null + exit +else + message=`pmerr $num_servers | cut -f5- -d\ ` + $PCP_XCONFIRM_PROG -c -B OK -header "Fatal error - cannot continue" \ + -t "$message" \ + -icon error > /dev/null + exit +fi + +# +# if too many instances, turn off all legends +# +legendp=on +if [ $num_servers -gt 6 ] +then + legendp=off +fi + +if [ $num_servers -gt 12 ] +then + $PCP_XCONFIRM_PROG -c -B Cancel -b Continue -header \ + "Too many charts" \ + -t "There is 1 chart per server, more than can reasonably be displayed on the screen" \ + -icon warning | grep Cancel >/dev/null +if [ $? -eq 0 ] +then + exit +fi +fi + +# chart preamble +# +cat > $tmp/base </dev/null +if [ $? -eq 0 ] +then + j=`echo $server | sed -f $tmp/sed` + echo Chart Title \"Bytes sent by $j\" Style stacking Legend $legendp >> $tmp/base + echo Plot Color \#3030FF Host \* Metric web.perserver.bytes.cached.total Instance $j >> $tmp/base + echo Plot Color \#FF3030 Host \* Metric web.perserver.bytes.uncached.total Instance $j >> $tmp/base +else + j=`echo $server | sed -f $tmp/sed` + echo Chart Title \"Total Bytes sent by $j\" Style bars Legend off>> $tmp/base + echo Plot Color \#FF3030 Host \* Metric web.perserver.bytes.total Instance $j >> $tmp/base +fi +i=`expr $i + 1` +done + +cat $tmp/base +rm -rf $tmp -- cgit v1.2.3