====== Clearcase License client module for Xymon Monitor ======
^ Author | [[ michael.nemeth@lmco.com| Michael Nemeth ]] |
^ Compatibility | Xymon 4.2 |
^ Requirements | clearcase |
^ Download | None |
^ Last Update | 2008-06-22 |
===== Description =====
Monitor and graphs clearcase licenses.
Will turn red or yellow base on percent used set the below in the script.
CCred=95
CCyellow=90
===== Installation =====
I run this on the server side to a pseudo host \\
0.0.0.0 licenses #
=== Client side ===
But if you chose to do client side. \\
Not tested: \\
Put the script ~hobbit/client/ext/ccl.sh
In the file: \\
~hobbit/client/etc/clientlaunch.cfg \\
Added
[ccl]
ENVFILE $HOBBITCLIENTHOME/etc/hobbitclient.cfg
CMD $HOBBITCLIENTHOME/ext/ccl.sh
INTERVAL 5m
Also the pseudo host MAY work on the client side but Ive not tested. \\
You may want to do the following:(was working ok on server side) \\
change varible references of licenses to ${MACHINE} \\
That is: OUTFILE1="$BBTMP/ccl.licenses" to OUTFILE1="$BBTMP/ccl.${MACHINE}" \\
if you do not want to use a psuedo host (0.0.0.0 licenses)
=== Server side ===
~hobbit/server/etc/hobbitlaunch.cfg
Add
[ccl]
ENVFILE PATHTO/etc/hobbitlaunch.cfg
CMD $BBHOME/ext/ccl.sh
INTERVAL 5m
where PATHTO is replaced with something like /home/nemeth/hobbit/server.
Two lines are changed in the configuration file hobbitserver.cfg:
TEST2RRD="cpu=la,disk, ... ,lines,ccl=ncv"
GRAPHS="la,disk, ... ,lines,ccl"
and ADD:
NCV_ccl="*:GAUGE"
You may want to create a a psuedo host 0.0.0.0 licenses # in the bb-hosts file or
change varible references of licenses to ${MACHINE}
That is: OUTFILE1="$BBTMP/ccl.licenses" to OUTFILE1="$BBTMP/ccl.${MACHINE}"
Add into the configuration file hobbitgraph.cfg. This should preferably be inserted at the end.
[ccl]
TITLE clearcase licenses
YAXIS #
DEF:CA=ccl.rrd:Currentactiveusers:AVERAGE
LINE2:CA#FF0000:Current activeusers
COMMENT:\n
GPRINT:CA:LAST: \: %5.1lf (cur)
GPRINT:CA:MAX: \: %5.1lf (max)
GPRINT:CA:MIN: \: %5.1lf (min)
GPRINT:CA:AVERAGE: \: %5.1lf (avg)\n
DEF:MA=ccl.rrd:Maximumactiveusersa:AVERAGE
LINE2:MA#CC3333:Maximum Active Users
COMMENT:\n
GPRINT:MA:LAST: \: %5.1lf (cur)
GPRINT:MA:MAX: \: %5.1lf (max)
GPRINT:MA:MIN: \: %5.1lf (min)
GPRINT:MA:AVERAGE: \: %5.1lf (avg)\n
DEF:AA=ccl.rrd:Availablelicenses:AVERAGE
LINE2:AA#00CCCC:Available licenses
COMMENT:\n
GPRINT:AA:LAST: \: %5.1lf (cur)
GPRINT:AA:MAX: \: %5.1lf (max)
GPRINT:AA:MIN: \: %5.1lf (min)
GPRINT:AA:AVERAGE: \: %5.1lf (avg)\n
You may want to drop either the Currentactiveusers or Availablelicenses section,
but I like having the Maximumactiveusersa as a "ceiling line"
===== Source =====
==== ccl.sh ====
#!/bin/ksh -p
COLUMN=ccl
# COLOR defaults to green
COLOR=GREEN
CCred=95
CCyellow=90
# You may want to: change varible references of licenses to ${MACHINE}
#That is: OUTFILE1="$BBTMP/ccl.licenses" to OUTFILE1="$BBTMP/ccl.${MACHINE}"
# if you do not want to use a psuedo host (0.0.0.0 licenses)
OUTFILE1="$BBTMP/ccl2.licenses"
touch $OUTFILE1
cclfile="$BBTMP/ccl.licenses"
CClicense=/usr/atria/bin/clearlicense
$CClicense | sed -n '/ClearCase/,/Available licenses/p' > $cclfile
$CClicense | sed -n '/License Usage Statistics/,/active users bumped by preferred user/p' | head -4 >> $cclfile
Max_User=`$CClicense | sed -n '/Max-Users/{n;p;q;}' | awk '{print $1}' `
Current_Users=`$CClicense | sed -n '/Current active users:/{p;q;}' | awk -F: '{print $2}'`
PCusered=`expr $Current_Users \* 100 \/ $Max_User`
if [ $PCusered -gt $CCyellow ]; then
COLOR=yellow
echo " Clearcase licensence exceed yellow limit of $CCyellow " > $OUTFILE1
else
COLOR=green
fi
if [ $PCusered -gt $CCred ]; then
COLOR=red
echo " Clearcase licensence exceed red limit of $CCred " > $OUTFILE1
else
COLOR=$COLOR
fi
# Tell Xymon about it
$BB $BBDISP "status licenses.ccl $COLOR `date`
`echo`
`echo "Clearcase\n"`
`echo "Max-User:\n"`
`echo ${Max_User}`
`echo "%Used:\n"`
`echo ${PCusered}`
`echo`
`cat ${OUTFILE1}`
`echo`
`cat ${cclfile}`
"
rm $cclfile
rm $OUTFILE1
exit 0
===== Known Bugs and Issues =====
I don't what happens if the clearlicense command cann't contact the license server.
===== To Do =====
Figure out what happens if the clearlicense command can't contact the license server
Turn red if the license server down.
Clean up the script. Found out I can get info on our two product separately (clearcase and multisite) this would make the parsing easier.
===== Credits =====
* Original recipe at: http://www.hswn.dk/hobbit/help/howtograph.html
* The Xymon User mailing list. Particularly Anna Jonna Armannsdottir
* And Henrik of course !!!!!!
===== Changelog =====
* **2008-06-30**
* Initial release