ext scripts & the Hobbit methodology for implementation.

s_aiello at comcast.net s_aiello at comcast.net
Thu Jan 24 16:24:24 CET 2008


Within the last few months I have successfully migrated from BigBrother to 
Hobbit. The process was long and auderous since we had a large number of 
customizations in BigBrother. But now that we are on Hobbit, I really want to 
make use of the power of Hobbit and move away from the BB legacy method for 
ext scripts.

What I mean by BB legacy ext scripts, are client based ext scripts that send 
reports in via the bb status command. The Hobbit method is more server 
centric. In that clients report raw data to the server and the server 
processes that data, applying thresholds, formating reports, and possibly 
trending. Now to send raw data from the client there are two choices, data or 
client. Now in the past, I believe I saw a thread where Henrik mentioned that 
data was the preferred method for ext scripts & that client was more for the 
internal use between hobbit clients & server. But the lure of the client 
command is to great to ignore. Especially with the ability to access that raw 
data via the clientlog command.

So that brings me to my first problem when sending data via the client command 
the data needs to be structure in a very particular format. Where OSTYPE has 
to match a predefined Hobbit OSTYPE and a minimum set of SECTIONNAME need to 
be filled for the Hobbit server to accept the data. If they are missing the 
data just ends up in /dev/null. So I was curious if in the upcoming 4.3 (or 
newer version), that the client command could be opened up for more general 
usage ?

Now secondly after the data is actually accepted by the Server, the ability to 
do something with it is needed. Now that shouldn't be a problem with being 
able to attatch a script to a Hobbit channel or by scheduling a command to 
run clientlog every X minutes and process the data. But how does the script 
apply thresholds ? Now I am working under the assumption that for my custom 
data I would be able to add custom definitions to the hobbit-clients.cfg 
file. But how does my script access those thresholds ? Since Hobbit already 
has all the internals to acess this file, I would think that a Hobbit utility 
would fit the need. Maybe even a new BB command ? i.e. "bin/bb 
1.2.3.4 "threshold server", where there could be an optional 
parameter "stats=" which could be CPU, PROCS, DISK, etc. By storing the 
custom ext thresholds in the hobbit-clients.cfg file, this allows the cgi 
hobbit-confreport.sh to report on the custom thresholds along with the 
built-in client thresholds.

A sample of a custom client report:
bin/bb 1.2.3.4 "client BlahJVM01.websphere was60
[date]
Thu Jan 24 09:03......
[jvm]
java version: JDK 1.4.2_12
....
[memory]
free: 88565
used: 43209
gc-calls: 39
gc-time: 4
[threadpool]
current: 0
highwater: 10
active: 0
"

Sample hobbit-clients.cfg
  WASTHRD 10 20
  WASMEMFREE 15000 5000

Sorry for the long winded email, I am just trying to move my ext scripts to 
the Hobbit methodology. It just makes more sense.. and offers many more 
options & power. And this was just my take on it. Thoughts ?

 ~Steve



More information about the Xymon mailing list