[hobbit] Re: Custom RRD graphs

Dan Vande More bigdan at gmail.com
Sun Nov 13 09:18:50 CET 2005


On 11/12/05, Rich Smrcina <rsmrcina at wi.rr.com> wrote:
> Dan Vande More wrote:
> > Custom graphing (with ncv) is really a two step process. The first and
> > most important is collecting the data into an rrd, which is simple and
> > done by adding your COLUMNNAME=ncv to TEST2RRD and correctly passing
> > data back to hobbit:)
> > I used "rrdtool dump foo.rrd > tmp.xml" to verify that it was actually
> > collecting some data.
> >
>
> My rrd file isn't even being updated.  That leads me to believe that
> something in the configuration process is missing or wrong.

Ok, I'll share how I "debugged" hobbit, but only if you promise not to
laugh. I'm a seek and destroy debugger, so I add printfs inside of
loops I think should be executed, and if they're not executed, I'll
find out why. Since this isn't perl, it's not as easy as 'print "I'm
executing loop foo...\n"'. Fortunately, Henrick has made it almost as
easy. Instead of print/printf/sprintf, hobbit has an errprintf
function that works quite handily.

My recommendations are these:

#1. Get into your hobbit source directory, I'd assume something like:
/home/hobbit/hobbit-4.1.2.
#2. Put a line in hobbitd/do_rrd.c on or about line 250 (Which is
where you see the if and else ifs, you want to be _above_ these. My
line is something like:

***
        if      (strcmp(id, "ncv") == 0)       errprintf("hostname %s,
testname %s qualifies for an ncv with id %s\n", hostname, testname,
id);
***
Note: There's a strcmp(id, ncv) later on, but it won't affect this test.

#3. Now, assuing your TEST2RRD is working, hobbit will log that (more
on that later). A bit further down in do_rrd.c, if it matches ncv, it
will pass that on to a function appropriately named do_ncv_rrd(). Now,
edit hobbitd/rrd/do_ncv.c and add a line on our about line 32 that
says something like:

***
errprintf("hostname %s testname %s msg %s made ncv\n", hostname, testname, msg);
***
(Just to know you got inside of the do_ncv function.)

#4. On our about line 58, which is clearly after it assigns name &
value (From your msg: 'name : value' or 'name = value'), add a line
like:

***
errprintf("hostname %s testname %s msg %s had name/value of %s : %s",
hostname, testname, msg, name, value);
***

#5. Re-compile hobbit so these changes take effect. My line was something like:
***
sudo make clean && sudo make && sudo make install && sudo rm
/var/log/hobbit/rrd-status.log && sudo -u hobbit
/home/hobbit/server/hobbit.sh stop && sudo -u hobbit
/home/hobbit/server/hobbit.sh start
**

Ok, that's it.  If any of your steps didn't log all of those messages,
it didn't make it that far. Troubleshoot these backwards. Now,
errprintf seems smart enought to know which module it's running under,
so it will log to the appropriate modules' log. In this case, you'll
find these messages under /var/log/hobbit/rrd-status.log. Look for the
tests you're running and if these lines show up in that log file.

If I were any smarter, I would have made some kinda "if
(defined(debug_ncv)) errprintf(foo)" lines around these three (or
more) areas and submitted the diffs to the project for inclusion, but
alas, I was too hurried.

If you get stuck or have questions, just ask.

Good luck.

Dan


>
> > I would venture to guess that as long as your test/column names stay
> > the same, there will be no problems in switching from --extra-tests to
> > ncv.
> >
> > The second step, of course, is actually graphing it using data from
> > the rrd. I found this to be the most difficult step, if only because I
> > skim documentation - I don't read unless I'm desperate. Again, I'm
> > going out on a limb to say as long as your datasources/testnames/Y
> > values are all the same, your graph configuration should work post-ncv
> > conversion.
> >
> > Good luck
> >
>
> Thanks.
>
> > Dan
> >
>
> --
> Rich Smrcina
> VM Assist, Inc.
> Main: (262)392-2026
> Cell: (414)491-6001
> Ans Service:  (360)715-2467
> rich.smrcina at vmassist.com
>
> Catch the WAVV!  http://www.wavv.org
> WAVV 2006 - Chattanooga, TN - April 7-11, 2006
>
> To unsubscribe from the hobbit list, send an e-mail to
> hobbit-unsubscribe at hswn.dk
>
>
>



More information about the Xymon mailing list