Xymon Mailing List Archive search

Sending data from script to an rrd

list Greg L Hubbard
Thu, 19 Oct 2006 11:00:42 -0500
Message-Id: <user-a5cbf26b40a0@xymon.invalid>

Yes, you are using the NCV method, instead of the explicit
"pitcher/catcher" method.  Which do you want to use?

If you use NCV, the Hobbit server will make a valiant attempt to pick
out your data from the text of your message, but only if it is in the
proper format.  This is a can of worms I quickly threw overboard when I
started adding my own custom tests.

If you bind a column (text) to NCV, the custom parser script will not be
called.

Look in the NCV section of the hobbitd_rrd man page to see how the data
needs to look.  You need to make sure that your are sending "cputemp :
<number>" or "cputemp = <number>" somewhere in your status message.  Or
maybe it has to be "cputemp:<number>" or "cputemp: <number>" -- see why
I never got it to work?  The documentation is hazy about whether or not
spaces are required, and which combinations will be okay or not.  This
is why I quit trying and went for the use-my-own-sledgehammer approach.

GLH

-----Original Message-----
From: Rob Munsch [mailto:user-f39e4aae1456@xymon.invalid] 
Sent: Thursday, October 19, 2006 10:42 AM
To: user-ae9b8668bcde@xymon.invalid
Subject: Re: [hobbit] Sending data from script to an rrd

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I am completely clueless.  OK, sanity check requested.  According to
existing docs on the site, i made the following changes, but all i get
on the graph page is

hobbit graph ncv:cputemp

Now, if my data was bad, i'd have a blank graph, one where all the
values show as "nan."  I'm not even getting that, so i am back even
further than i thought.  I have...

in hobbitlaunch.cfg

[cputemp]
        ENVFILE $HOBBITCLIENTHOME/etc/hobbitclient.cfg
        CMD $BBHOME/ext/cputemp.sh
        LOGFILE $BBSERVERLOGS/cputemp.log
        INTERVAL 1m

- ---
in hobbitgraph.cg

[cputemp]
        TITLE CPU Temp
        YAXIS Degrees Fahrenheit
        DEF:cputemp=cputemp.rrd:cputemp:AVERAGE
        LINE2:cputemp#00CC00:CPU Temp
        GPRINT:cputemp:LAST:Cpu Temperature \: %5.11f%s (cur)
        GPRINT:cputemp:MAX: \: %5.1lf%s (max)
        GPRINT:cputemp:MIN: \: %5.1lf%s (min)
        GPRINT:cputemp:AVERAGE: \: %5.1lf%s (avg)\n
- ---
in hobbitserver.cfg

TEST2RRD="cpu=la,disk,inode,qtree,...,bind,cputemp=ncv"
and
GRAPHS="ncv,la,disk,...,bbproxy,hobbitd,cputemp"
and
NCV_cputemp="cputemp:GAUGE"
- ---

TIA.  I have a feeling the key is something in here. somewhere. somehow.

Hubbard, Greg L wrote:
You got it, big man -- just remember to "pitch" what you know you can 
"catch".  Since the catcher script KNOWS which test it is parsing, you
can be as sloppy as you want.

-----Original Message-----
From: Rob Munsch [mailto:user-f39e4aae1456@xymon.invalid]
Sent: Thursday, October 19, 2006 10:15 AM
To: user-ae9b8668bcde@xymon.invalid
Subject: Re: [hobbit] Sending data from script to an rrd

Hubbard, Greg L wrote:
Hey Rob,
What is being passed is all the text you so carefully sent in your 
client-side text.  That is why it is important to "pitch" what you 
can
"catch."
OH, so, you know how to craft your greps and awks based on the MSG you
are sending from the client, is that it?  I don't need to find and 
examine that passed data, because i can see its structure based on the
$MSG i am sending at the end of the client script.  Right?
(please don't laugh at my code):
shyeah, like i'm qualified to do so.
case $TESTNAME in
        foo)
                # Snag each foo data line
                FOO_ALL=`grep "FOO_Events:" $FNAME | awk '{print 
$3}'`
this is where i was getting conf00zed.  I was wondering what psychic 
powers you people were employing to know how to pick out what you 
wanted blindly :).
                # Print out RRD Foo Dataset definitions
                echo "DS:Events:GAUGE:600:0:U"
                echo "DS:Notifications:GAUGE:600:0:U"
                echo "foo.rrd"
                echo "$FOO_ALL:$FOO_NOTIFY"
and this i'll just have to look up to make sure of.

Thank you!  I think it's starting to coalesce in my congealed brain...

-----Original Message-----
From: Rob Munsch [mailto:user-f39e4aae1456@xymon.invalid]
Sent: Thursday, October 19, 2006 9:33 AM
To: user-ae9b8668bcde@xymon.invalid
Subject: Re: [hobbit] Sending data from script to an rrd
I'm askin' the wrong questions, i just realized.
For custom test Foo which has Custom Script Foo.sh, which is a 
clientside script living in ~/client/ext;
assuming all other .cfg acrobatics have been accomplished, where on 
the server am i going to find the raw $host.foo data/numbers for me 
to
parse and pass on?
I understand i can maybe copy someone else's macro for it, but i need
to see what the raw data looks like so i know what i'm parsing :D.
tia,
- --
Rob Munsch
Solutions For Progress IT
www.solutionsforprogress.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFN5zaBvBcJFK6xYURArenAJ0SIqG44vJBrRSXa3a11iTkRrDW7QCfRo4f
4+ZfwrLvZTSWEKVT9jsPAwE=
=PQNm
-----END PGP SIGNATURE-----