Xymon Mailing List Archive search

how to decrease default step of 300sec to 60sec in hobbitd_rrd

list Norbert Kriegenburg
Sun, 8 Nov 2009 16:36:51 +0100
Message-Id: <user-426137a48196@xymon.invalid>

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 <user-0871e9ea8ab4@xymon.invalid>                                                                         
                                                                                                                       
  To:         user-ae9b8668bcde@xymon.invalid                                                                                           
                                                                                                                       
  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