[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [hobbit] how to decrease default step of 300sec to 60sec in hobbitd_rrd



Hi Norbert,

the duplicate DS name lambda is a known bug in 4.3.0_beta2 (and if
current SVN too at last a few days ago), see the following post:
	http://www.hswn.dk/hobbiton/2008/10/msg00423.html
patch attached for convenience (that works for sure on 4.3.0_beta2 on
several installation for me).

good luck with your mixed versions,

	Thomas

PS: I'd expect that your system would be more stable with a complete
switch to 4.3.0_beta2 -- or even the current SVN -- compared to blending
versions. But you may have good reasons for not upgrading completely.

Norbert Kriegenburg wrote:
> Hi Thomas,
> 
> thank you for your response on Sunday,
> I've found this in the source of the latest beta release today morning as
> well.
> 
> But unfortunately I have to deal with our production environment, and I
> would like to avoid going to the next release this time.
> If there is no other chance to realize this by patching the 4.2.3 sources,
> I have to go this way.
> 
> Today I tried to make use of the compiled hobbitd_rrd from 4.3.0 and
> inserted into my env, modified and copied the hobbit-rrddefinitions.cfg
> into etc.
> It worked so far, but for all my SPLITNCV I get a:
> 
> 2009-11-08 14:11:12 RRD error creating xxxxxx.rrd: Duplicate DS name:
> lambda
> 
> I will try to locate the missing files to patch to make this work, but I'm
> afraid that I have to update all the xymon stuff.
> (Its some work to do, because we have a heavy modified xymon running).
> 
> Any other hints somebody?
> 
> Norbert Kriegenburg
> 
> 
>                                                                                                                        
>   From:       Thomas Eckert <tom (at) IT-Eckert.de>                                                                         
>                                                                                                                        
>   To:         hobbit (at) hswn.dk                                                                                           
>                                                                                                                        
>   Date:       08.11.2009 14:34                                                                                         
>                                                                                                                        
>   Subject:    Re: [hobbit] how to decrease default step of 300sec to 60sec in hobbitd_rrd                              
>                                                                                                                        
> 
> 
> 
> 
> 
> Hi Norbert,
> 
> from a grep in the source (xymon-4.3.0_beta2) I _guess_ that it's in
> hobbitd/do_rrd.c: around line 52:
> /* How often do we feed data into the RRD file */
> #define DEFAULT_RRD_INTERVAL 300
> static int  rrdinterval = DEFAULT_RRD_INTERVAL;
> 
> To make use of all this you need to send data every minute too of course.
> 
> Cheers,
> 
>              Thomas
> 
> Norbert Kriegenburg wrote:
>> Hi guys,
>>
>> we are monitoring with BigBrother/bbgen/xymon since a couple of years now
>> with great success.
>> Nothings beats the flexibility and speed of xymon.
>>
>> But now I have a problem I can't find a solution for (xymon 4.2.3. on
>> RHEL):
>>
>> I have to design all the rrd files to collect data with a cycle of 60sec
>> insted of the default 300sec.
>> I found the places where I have to set up the new definitions of the RRAs
>> in  hobbitd_rrd.c:
>>
>> static char rra1[] = "RRA:AVERAGE:0.5:1:2880";  /* 60s for 2d */
>> static char rra2[] = "RRA:AVERAGE:0.5:5:20160";  /* 60s for 2w */
>> static char rra3[] = "RRA:AVERAGE:0.5:15:5760"; /* 900s for 8w */
>> static char rra4[] = "RRA:AVERAGE:0.5:60:12096"; /* 1h for 18m */
>> static char rra5[] = "RRA:MAX:0.5:1:2880";
>> static char rra6[] = "RRA:MAX:0.5:5:20160";
>> static char rra7[] = "RRA:MAX:0.5:15:5760";
>> static char rra8[] = "RRA:MAX:0.5:60:12096";
>>
>> and the definitions in do_*.c to: sprintf(dsdef, "DS:lambda:%s:120:U:U",
>> dstype);
>> and so on to reflect the shorter cycle.
>>
>> Compiled everything, and copy the new hobbit_rrd as hobbit_rrd1minute
> into
>> $BBHOME/bin
>> I created a new channel (in parallel to the working hobbit_rrd) with own
>> rrd-dir and logfile:
>>
>> [rrdstatus1minute]
>>     ENVFILE /opt/xymon/server/etc/hobbitserver.cfg
>>     NEEDS hobbitd
>>     CMD hobbitd_channel --channel=status --log=
>> $BBSERVERLOGS/rrd-status1minute.log hobbitd_rrd1minute --rrddir=
>> $BBVAR/rrd1minute
>>     INTERVAL 1m
>>
>> Everything is working, the rrdfiles where created, but if I do a "rrdtool
>> info examplefile.rrd", I only find the default step of 300s:
>>
>> rrd_version = "0003"
>> step = 300
>> last_update = 1257631284
>> ds[lambda].type = "GAUGE"
>> ds[lambda].minimal_heartbeat = 120
>>
>> There are no values collected ("NaN"), and all files where updated only
>> every 5min and not every 60s.
>>
>> I did'nt find the place, where I can define the rrdcreate with  "--step
>> 60".
>>
>> Unfortunately I have no chance to switch everything to extra-scripts,
>> because we have a quite complex and dynamic environment in our monitoring
>> and I'm  glad, that everything is running smooth (mostly using SPLITNCV).
>>
>> Any hints, what I have to change to collect my rrd-values with a 60sec
>> cycle?
>>
>> help is greatly appreciated
>> thank you
>>
>> Mit freundlichen Grüßen / Kind regards
>>
>> Norbert Kriegenburg
>>
>>
>> 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
> 
> 
> 
> 
> 
> 
> To unsubscribe from the hobbit list, send an e-mail to
> hobbit-unsubscribe (at) hswn.dk
> 
> 
--- hobbitd/rrd/do_ncv.c.org	2009-10-02 14:33:37.000000000 +0200
+++ hobbitd/rrd/do_ncv.c	2009-10-02 14:33:46.000000000 +0200
@@ -177,7 +177,7 @@
 				}
 			}
 			
-			if (split_ncv && (paridx > 1)) {
+			if (split_ncv && (paridx > 0)) {
 				create_and_update_rrd(hostname, testname, classname, pagepaths, params, NULL);
 
 				/* We've created one RRD, so reset the params for the next one */