[hobbit] Re: Custom RRD graphs

Rich Smrcina rsmrcina at wi.rr.com
Mon Nov 14 13:35:22 CET 2005


OK, I think I've found the problem.  The NCV routine strips out anything 
that isn't a letter or a number from the column name.

I found this message in the log:

2005-11-13 22:01:21 RRD error updating 
/home/hobbit/data/rrd/vm1/pg_util.rrd from 192.168.201.1: unknown DS 
name 'pgutil'

Dan Vande More wrote:
> 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
>>
>>
>>
> 
> 
> To unsubscribe from the hobbit list, send an e-mail to
> hobbit-unsubscribe at hswn.dk
> 
> 
> 

-- 
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



More information about the Xymon mailing list