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