how to decrease default step of 300sec to 60sec in hobbitd_rrd
list Norbert Kriegenburg
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
list Thomas Eckert
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
list Norbert Kriegenburg
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
list Thomas Eckert
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 <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
Attachments (1)
list Norbert Kriegenburg
Thanks Thomas, this community is so incredible. this was the patch I missed. After applying it, everything works like a charm. I know that it is quite ugly to mix versions, but now I have separate rrd with a 60s step in parallel to my poduction env, and can have a look at the results. It was above all a draft to present the managment the possibility of collecting values every minute for at least 14 days with full granularity with xymon. Now I can make a profound suggestion to update Xymon and restart collecting the NCV. Everybody (including me) will be lucky. Xymon and this community is awesome! Thank you and have a nice Sunday evening...
▸
Norbert Kriegenburg From: Thomas Eckert <user-0871e9ea8ab4@xymon.invalid> To: user-ae9b8668bcde@xymon.invalid Date: 08.11.2009 17:10 Subject: 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 <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
--- 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 */
list Henrik Størner
▸
In <user-0fddee1c7fd6@xymon.invalid> Thomas Eckert <user-0871e9ea8ab4@xymon.invalid> writes:
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).
OK - it's in the 4.3.0 SVN repository now. Regards, Henrik