Xymon Mailing List Archive search

Sending data from script to an rrd

list Thomas Kern
Thu, 19 Oct 2006 09:44:52 -0400
Message-Id: <user-a9beb8118b39@xymon.invalid>

So for those of us on Non-Linux systems, the hobbit_rrd source code has
all of the parsing definitions for the 'standard' tests. If I want to
present 'standard' data to hobbit to be reported AND graphed, it must
fit the parsing as defined in hobbit_rrd. If I want to present NEW data,
I create a new column with a single extension script on the hobbit
server to parse the new data delivered by the clients. 

/Thomas Kern
/XXX-XXX-XXXX 
-----Original Message-----
From: user-ce4a2c883f75@xymon.invalid [mailto:user-ce4a2c883f75@xymon.invalid] 
Sent: Wednesday, October 18, 2006 5:25 PM
To: user-ae9b8668bcde@xymon.invalid
Subject: Re: [hobbit] Sending data from script to an rrd

... Snipped ...
When the Hobbit server - specifically, the "hobbitd" process that
receives messages from the network - gets your data via a "status" 
message, it creates a column with the color your script decided upon. 
But it doesn't do any analysis of the data. Instead, it just 
shoves the
raw message out through one or more of the Hobbit "channels", and lets
the hobbitd_* worker modules do whatever they want to do with it.
One of these worker modules is "hobbitd_rrd", which (as the name
implies) handles updating of RRD files. It has to pick out the
interesting numbers from the raw status message, and put them into an
RRD file. hobbitd_rrd knows how to handle several different kinds of 
status messages (cpu, disk, memory, network response times 
...), but for
custom tests that you write yourself, you'll have to provide the code
to pick out those numbers you want to put into the graph. So this is
where the second script comes into play: This script is the 
one with the
"echo" statements that you cannot quite figure out how should work.
Basically, whenever hobbitd_rrd sees a status message which is one of
those listed in the "--extra-tests" option, then it hands over the
parsing of the status message data to a script you've written. This
script must then return the data that should go into the RRD file.