Monthly graph disappeared with custom RRA
Moderators: Developers, Moderators
Monthly graph disappeared with custom RRA
I am trying to create a monthly RRA for 5 minute averages similar to the daily 5 minute average. But for the whole month. What I did is take the timespan for the month 2678400, then change the rows to 8928 (which should be data for 1 step every 5 minutes within the timespan).
Everything was working well until I got past a month. Now the Monthly graph just shows up blank and if I try to edit the timespan it trys to download graph.php in my browser.
Anyone know what I might be doing wrong? Is my RRA not setup correctly? I'm not quite sure what I can test.
ANy help would be appreciated, Thanks!
Everything was working well until I got past a month. Now the Monthly graph just shows up blank and if I try to edit the timespan it trys to download graph.php in my browser.
Anyone know what I might be doing wrong? Is my RRA not setup correctly? I'm not quite sure what I can test.
ANy help would be appreciated, Thanks!
- gandalf
- Developer
- Posts: 22383
- Joined: Thu Dec 02, 2004 2:46 am
- Location: Muenster, Germany
- Contact:
This behaviour is normal. You may have a read from the links of my signature on how to resize.
If you did the resize, you added new fields with 5 min resolution that are empty up to now! They can't be deduced from historical data, so they are empty. Thes will fill up each day until the month is complete.
Reinhard
If you did the resize, you added new fields with 5 min resolution that are empty up to now! They can't be deduced from historical data, so they are empty. Thes will fill up each day until the month is complete.
Reinhard
- gandalf
- Developer
- Posts: 22383
- Joined: Thu Dec 02, 2004 2:46 am
- Location: Muenster, Germany
- Contact:
Please post the output of for more help
Reinhard
Code: Select all
rrdtool info <rrd file>
Reinhard
THanks for your help! Here ya go. Not sure what all this means... however I do notice some 'NaN'...
[root@cacti rra]# /usr/local/rrdtool-1.2.13/bin/rrdtool info cr1_sjc1_cooplabs_net_traffic_in_48.rrd
filename = "cr1_sjc1_cooplabs_net_traffic_in_48.rrd"
rrd_version = "0003"
step = 300
last_update = 1159632903
ds[traffic_in].type = "COUNTER"
ds[traffic_in].minimal_heartbeat = 600
ds[traffic_in].min = 0.0000000000e+00
ds[traffic_in].max = 1.0000000000e+08
ds[traffic_in].last_ds = "1495310406"
ds[traffic_in].value = 1.0100658239e+06
ds[traffic_in].unknown_sec = 0
ds[traffic_out].type = "COUNTER"
ds[traffic_out].minimal_heartbeat = 600
ds[traffic_out].min = 0.0000000000e+00
ds[traffic_out].max = 1.0000000000e+08
ds[traffic_out].last_ds = "3520930618"
ds[traffic_out].value = 1.3273793920e+06
ds[traffic_out].unknown_sec = 0
rra[0].cf = "AVERAGE"
rra[0].rows = 600
rra[0].pdp_per_row = 1
rra[0].xff = 5.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[0].cdp_prep[1].value = NaN
rra[0].cdp_prep[1].unknown_datapoints = 0
rra[1].cf = "AVERAGE"
rra[1].rows = 600
rra[1].pdp_per_row = 1
rra[1].xff = 5.0000000000e-01
rra[1].cdp_prep[0].value = NaN
rra[1].cdp_prep[0].unknown_datapoints = 0
rra[1].cdp_prep[1].value = NaN
rra[1].cdp_prep[1].unknown_datapoints = 0
rra[2].cf = "AVERAGE"
rra[2].rows = 700
rra[2].pdp_per_row = 6
rra[2].xff = 5.0000000000e-01
rra[2].cdp_prep[0].value = 1.0341665896e+06
rra[2].cdp_prep[0].unknown_datapoints = 0
rra[2].cdp_prep[1].value = 1.2927486987e+06
rra[2].cdp_prep[1].unknown_datapoints = 0
rra[3].cf = "AVERAGE"
rra[3].rows = 8928
rra[3].pdp_per_row = 1
rra[3].xff = 5.0000000000e-01
rra[3].cdp_prep[0].value = NaN
rra[3].cdp_prep[0].unknown_datapoints = 0
rra[3].cdp_prep[1].value = NaN
rra[3].cdp_prep[1].unknown_datapoints = 0
rra[4].cf = "AVERAGE"
rra[4].rows = 797
rra[4].pdp_per_row = 288
rra[4].xff = 5.0000000000e-01
rra[4].cdp_prep[0].value = 7.6359504031e+07
rra[4].cdp_prep[0].unknown_datapoints = 0
rra[4].cdp_prep[1].value = 7.4354836895e+07
rra[4].cdp_prep[1].unknown_datapoints = 0
rra[5].cf = "MIN"
rra[5].rows = 600
rra[5].pdp_per_row = 1
rra[5].xff = 5.0000000000e-01
rra[5].cdp_prep[0].value = NaN
rra[5].cdp_prep[0].unknown_datapoints = 0
rra[5].cdp_prep[1].value = NaN
rra[5].cdp_prep[1].unknown_datapoints = 0
rra[6].cf = "MIN"
rra[6].rows = 600
rra[6].pdp_per_row = 1
rra[6].xff = 5.0000000000e-01
rra[6].cdp_prep[0].value = NaN
rra[6].cdp_prep[0].unknown_datapoints = 0
rra[6].cdp_prep[1].value = NaN
rra[6].cdp_prep[1].unknown_datapoints = 0
rra[7].cf = "MIN"
rra[7].rows = 700
rra[7].pdp_per_row = 6
rra[7].xff = 5.0000000000e-01
rra[7].cdp_prep[0].value = 2.6037552839e+05
rra[7].cdp_prep[0].unknown_datapoints = 0
rra[7].cdp_prep[1].value = 3.9038533687e+05
rra[7].cdp_prep[1].unknown_datapoints = 0
rra[8].cf = "MIN"
rra[8].rows = 8928
rra[8].pdp_per_row = 1
rra[8].xff = 5.0000000000e-01
rra[8].cdp_prep[0].value = NaN
rra[8].cdp_prep[0].unknown_datapoints = 0
rra[8].cdp_prep[1].value = NaN
rra[8].cdp_prep[1].unknown_datapoints = 0
rra[9].cf = "MIN"
rra[9].rows = 797
rra[9].pdp_per_row = 288
rra[9].xff = 5.0000000000e-01
rra[9].cdp_prep[0].value = 1.8956041192e+05
rra[9].cdp_prep[0].unknown_datapoints = 0
rra[9].cdp_prep[1].value = 8.6810452870e+04
rra[9].cdp_prep[1].unknown_datapoints = 0
rra[10].cf = "MAX"
rra[10].rows = 600
rra[10].pdp_per_row = 1
rra[10].xff = 5.0000000000e-01
rra[10].cdp_prep[0].value = NaN
rra[10].cdp_prep[0].unknown_datapoints = 0
rra[10].cdp_prep[1].value = NaN
rra[10].cdp_prep[1].unknown_datapoints = 0
rra[11].cf = "MAX"
rra[11].rows = 600
rra[11].pdp_per_row = 1
rra[11].xff = 5.0000000000e-01
rra[11].cdp_prep[0].value = NaN
rra[11].cdp_prep[0].unknown_datapoints = 0
rra[11].cdp_prep[1].value = NaN
rra[11].cdp_prep[1].unknown_datapoints = 0
rra[12].cf = "MAX"
rra[12].rows = 700
rra[12].pdp_per_row = 6
rra[12].xff = 5.0000000000e-01
rra[12].cdp_prep[0].value = 4.3642958908e+05
rra[12].cdp_prep[0].unknown_datapoints = 0
rra[12].cdp_prep[1].value = 5.1246592031e+05
rra[12].cdp_prep[1].unknown_datapoints = 0
rra[13].cf = "MAX"
rra[13].rows = 8928
rra[13].pdp_per_row = 1
rra[13].xff = 5.0000000000e-01
rra[13].cdp_prep[0].value = NaN
rra[13].cdp_prep[0].unknown_datapoints = 0
rra[13].cdp_prep[1].value = NaN
rra[13].cdp_prep[1].unknown_datapoints = 0
rra[14].cf = "MAX"
rra[14].rows = 797
rra[14].pdp_per_row = 288
rra[14].xff = 5.0000000000e-01
rra[14].cdp_prep[0].value = 9.4243409657e+05
rra[14].cdp_prep[0].unknown_datapoints = 0
rra[14].cdp_prep[1].value = 9.7070777441e+05
rra[14].cdp_prep[1].unknown_datapoints = 0
rra[15].cf = "LAST"
rra[15].rows = 600
rra[15].pdp_per_row = 1
rra[15].xff = 5.0000000000e-01
rra[15].cdp_prep[0].value = NaN
rra[15].cdp_prep[0].unknown_datapoints = 0
rra[15].cdp_prep[1].value = NaN
rra[15].cdp_prep[1].unknown_datapoints = 0
rra[16].cf = "LAST"
rra[16].rows = 600
rra[16].pdp_per_row = 1
rra[16].xff = 5.0000000000e-01
rra[16].cdp_prep[0].value = NaN
rra[16].cdp_prep[0].unknown_datapoints = 0
rra[16].cdp_prep[1].value = NaN
rra[16].cdp_prep[1].unknown_datapoints = 0
rra[17].cf = "LAST"
rra[17].rows = 700
rra[17].pdp_per_row = 6
rra[17].xff = 5.0000000000e-01
rra[17].cdp_prep[0].value = 3.3736147210e+05
rra[17].cdp_prep[0].unknown_datapoints = 0
rra[17].cdp_prep[1].value = 4.4210953200e+05
rra[17].cdp_prep[1].unknown_datapoints = 0
rra[18].cf = "LAST"
rra[18].rows = 8928
rra[18].pdp_per_row = 1
rra[18].xff = 5.0000000000e-01
rra[18].cdp_prep[0].value = NaN
rra[18].cdp_prep[0].unknown_datapoints = 0
rra[18].cdp_prep[1].value = NaN
rra[18].cdp_prep[1].unknown_datapoints = 0
rra[19].cf = "LAST"
rra[19].rows = 797
rra[19].pdp_per_row = 288
rra[19].xff = 5.0000000000e-01
rra[19].cdp_prep[0].value = 3.3736147210e+05
rra[19].cdp_prep[0].unknown_datapoints = 0
rra[19].cdp_prep[1].value = 4.4210953200e+05
rra[19].cdp_prep[1].unknown_datapoints = 0
[root@cacti rra]#
- gandalf
- Developer
- Posts: 22383
- Joined: Thu Dec 02, 2004 2:46 am
- Location: Muenster, Germany
- Contact:
Uuh, there's a major problem with those definitions.
Please have a look at all rra's of same cf (eg AVERAGE or MIN, MAX). There are multiple items with same pdp number (aka granularity). Never tried this on my own, but I would suppose this to be kind of strange to rrdtool.
Normal definitions would be like
1) finest granularity: pdp_per_row=1 (aka 1 original data point per rra item = 5 min resolution)
2) next finest granularity: pdp_per_row=6 (aka 6 original data points per rra item = 30 min resolution)
3) coarser granularity: pdp_per_row=24 (aka 24 original data points per rra item = 2 h resolution)
4) coarsest granularity: pdp_per_row=288 (aka 288 original data pojnt per rra item = 24 h resolution)
You see from this, that "normally" pdp# is increasing from step to step. If you only want to save data in one type of granularity, e.g. 5min, you would only need one single rra for this (and, of course, LOADS of rows ...)
Please describe in more detail, what granularity and what timespan you need exactly
Reinhard
Please have a look at all rra's of same cf (eg AVERAGE or MIN, MAX). There are multiple items with same pdp number (aka granularity). Never tried this on my own, but I would suppose this to be kind of strange to rrdtool.
Normal definitions would be like
1) finest granularity: pdp_per_row=1 (aka 1 original data point per rra item = 5 min resolution)
2) next finest granularity: pdp_per_row=6 (aka 6 original data points per rra item = 30 min resolution)
3) coarser granularity: pdp_per_row=24 (aka 24 original data points per rra item = 2 h resolution)
4) coarsest granularity: pdp_per_row=288 (aka 288 original data pojnt per rra item = 24 h resolution)
You see from this, that "normally" pdp# is increasing from step to step. If you only want to save data in one type of granularity, e.g. 5min, you would only need one single rra for this (and, of course, LOADS of rows ...)
Please describe in more detail, what granularity and what timespan you need exactly
Reinhard
I'm only trying to get 5 min (pdp_per_row=1) resolution for the Monthly RRA In addition to the current RRA's. I left the original monthly RRA (average 30 min I think) just so I wouldn't accidentally ruin current graphs that might need it.
If I need to, I would also have 5 min resolution up to yearly also.
Are you saying I only need the Daily (5 min average) RRA and I will get weekly, monthly, and yearly graphs with 5 min resolution also?
Still slightly confused. But I think I see where you are going.
If I need to, I would also have 5 min resolution up to yearly also.
Are you saying I only need the Daily (5 min average) RRA and I will get weekly, monthly, and yearly graphs with 5 min resolution also?
Still slightly confused. But I think I see where you are going.
- gandalf
- Developer
- Posts: 22383
- Joined: Thu Dec 02, 2004 2:46 am
- Location: Muenster, Germany
- Contact:
Yep, hit again. There is not such a thing as a "monthly rra". This gets a bit confusing due to the way cacti currently defines rra's (resolved in pre-beta cacti 0.9). The timespan in this definitions is NOT a rra thingy. It is needed only when displaying the graphs to compute start/end times for that (e.g. monthly) graph.
To get the idea, think of rra's as a collection of data of same resolution. Start with the finest resolution (see my post above). Suppose, you want 5 min resolution. So, pdp_per_row = 1.
Suppose, you want to keep data for exactly 35 days. To get the number, take 12 rows for the hour (12 * 5 mins = 1 h!!!), 12*24 = 288 rows per day. For all of 35 days, this makes 35*288 = 10080 rows!
Now, take the next resolution.
Suppose, you want to have 30 min resolution next. So, pdp_per_row will be 6 (6 * 5 mins = 30 mins)
Suppose, you will keep data for about 1/4 of a year (lets take 100 days for sake of easy calculations). You have 2 rows per hour; 2*24 = 48 rows per day; 48 * 100 = 4800 rows per quarter of year.
Now go on with each wanted resolution.
You may have a look at http://forums.cacti.net/viewtopic.php?p=58007#58007
You may find http://forums.cacti.net/about14093.html helpful as well
Reinhard
To get the idea, think of rra's as a collection of data of same resolution. Start with the finest resolution (see my post above). Suppose, you want 5 min resolution. So, pdp_per_row = 1.
Suppose, you want to keep data for exactly 35 days. To get the number, take 12 rows for the hour (12 * 5 mins = 1 h!!!), 12*24 = 288 rows per day. For all of 35 days, this makes 35*288 = 10080 rows!
Now, take the next resolution.
Suppose, you want to have 30 min resolution next. So, pdp_per_row will be 6 (6 * 5 mins = 30 mins)
Suppose, you will keep data for about 1/4 of a year (lets take 100 days for sake of easy calculations). You have 2 rows per hour; 2*24 = 48 rows per day; 48 * 100 = 4800 rows per quarter of year.
Now go on with each wanted resolution.
You may have a look at http://forums.cacti.net/viewtopic.php?p=58007#58007
You may find http://forums.cacti.net/about14093.html helpful as well
Reinhard
I gotcha. This is essentially what I did. I calculated the timespan for 31 days and then calculated the number of rows I needed for a point every 5 mines in that time span. I added this RRA and then created a new graph that used it.
I guess there is something conflicting because of the 2 different RRA's with the same timespan? I'm just trying to find the exact problem.
I'll try removing the old Monthly RRA and keep everything at 5 min resolution and then change to 2 hour at the yearly RRA and then remake all the graphs and wait a month and see hwat happens =)
I guess there is something conflicting because of the 2 different RRA's with the same timespan? I'm just trying to find the exact problem.
I'll try removing the old Monthly RRA and keep everything at 5 min resolution and then change to 2 hour at the yearly RRA and then remake all the graphs and wait a month and see hwat happens =)
- gandalf
- Developer
- Posts: 22383
- Joined: Thu Dec 02, 2004 2:46 am
- Location: Muenster, Germany
- Contact:
Again, there is not such a thing as a timespan with a rra. There are only pdp_per_rows and rows itself. See your rrdtool info printout. Ok, you may compute a timespan from that. But this is NOT a parameter to rrdtooleger wrote:I gotcha. This is essentially what I did. I calculated the timespan for 31 days and then calculated the number of rows I needed for a point every 5 mines in that time span. I added this RRA and then created a new graph that used it.
I guess there is something conflicting because of the 2 different RRA's with the same timespan? I'm just trying to find the exact problem.
I'll try removing the old Monthly RRA and keep everything at 5 min resolution and then change to 2 hour at the yearly RRA and then remake all the graphs and wait a month and see hwat happens =)
Reinhard
So I tested this setup for another month after creating all new rrd's. The same thing happened =(. After 1 month the monthly graph disappeared. Not sure what I am doing wrong. Here is my cacti RRA setup:
And my rrdtool info output on a RRD that is not showing the monthly graph.Daily (5 Minute Average) 1 600 86400
Weekly (5 Minute Average) 1 2016 604800
Monthly (5 Minute Average) 1 8928 2678400
Yearly (1 Day Average) 288 797 33053184
Any ideas what I might be doing wrong? I feel like I am missing something simple. But am not sure what.filename = "cr1_sjc1_cooplabs_net_traffic_in_52.rrd"
rrd_version = "0003"
step = 300
last_update = 1162242302
ds[traffic_out].type = "COUNTER"
ds[traffic_out].minimal_heartbeat = 600
ds[traffic_out].min = 0.0000000000e+00
ds[traffic_out].max = 1.0000000000e+08
ds[traffic_out].last_ds = "3283550046"
ds[traffic_out].value = 4.3924855333e+05
ds[traffic_out].unknown_sec = 0
ds[traffic_in].type = "COUNTER"
ds[traffic_in].minimal_heartbeat = 600
ds[traffic_in].min = 0.0000000000e+00
ds[traffic_in].max = 1.0000000000e+08
ds[traffic_in].last_ds = "2067216784"
ds[traffic_in].value = 4.1841240000e+04
ds[traffic_in].unknown_sec = 0
rra[0].cf = "AVERAGE"
rra[0].rows = 600
rra[0].pdp_per_row = 1
rra[0].xff = 5.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[0].cdp_prep[1].value = NaN
rra[0].cdp_prep[1].unknown_datapoints = 0
rra[1].cf = "AVERAGE"
rra[1].rows = 2016
rra[1].pdp_per_row = 1
rra[1].xff = 5.0000000000e-01
rra[1].cdp_prep[0].value = NaN
rra[1].cdp_prep[0].unknown_datapoints = 0
rra[1].cdp_prep[1].value = NaN
rra[1].cdp_prep[1].unknown_datapoints = 0
rra[2].cf = "AVERAGE"
rra[2].rows = 8928
rra[2].pdp_per_row = 1
rra[2].xff = 5.0000000000e-01
rra[2].cdp_prep[0].value = NaN
rra[2].cdp_prep[0].unknown_datapoints = 0
rra[2].cdp_prep[1].value = NaN
rra[2].cdp_prep[1].unknown_datapoints = 0
rra[3].cf = "AVERAGE"
rra[3].rows = 797
rra[3].pdp_per_row = 288
rra[3].xff = 5.0000000000e-01
rra[3].cdp_prep[0].value = 9.5142104407e+07
rra[3].cdp_prep[0].unknown_datapoints = 0
rra[3].cdp_prep[1].value = 8.3857588437e+06
rra[3].cdp_prep[1].unknown_datapoints = 0
rra[4].cf = "MIN"
rra[4].rows = 600
rra[4].pdp_per_row = 1
rra[4].xff = 5.0000000000e-01
rra[4].cdp_prep[0].value = NaN
rra[4].cdp_prep[0].unknown_datapoints = 0
rra[4].cdp_prep[1].value = NaN
rra[4].cdp_prep[1].unknown_datapoints = 0
rra[5].cf = "MIN"
rra[5].rows = 2016
rra[5].pdp_per_row = 1
rra[5].xff = 5.0000000000e-01
rra[5].cdp_prep[0].value = NaN
rra[5].cdp_prep[0].unknown_datapoints = 0
rra[5].cdp_prep[1].value = NaN
rra[5].cdp_prep[1].unknown_datapoints = 0
rra[6].cf = "MIN"
rra[6].rows = 8928
rra[6].pdp_per_row = 1
rra[6].xff = 5.0000000000e-01
rra[6].cdp_prep[0].value = NaN
rra[6].cdp_prep[0].unknown_datapoints = 0
rra[6].cdp_prep[1].value = NaN
rra[6].cdp_prep[1].unknown_datapoints = 0
rra[7].cf = "MIN"
rra[7].rows = 797
rra[7].pdp_per_row = 288
rra[7].xff = 5.0000000000e-01
rra[7].cdp_prep[0].value = 7.8998979798e+04
rra[7].cdp_prep[0].unknown_datapoints = 0
rra[7].cdp_prep[1].value = 1.0903194800e+04
rra[7].cdp_prep[1].unknown_datapoints = 0
rra[8].cf = "MAX"
rra[8].rows = 600
rra[8].pdp_per_row = 1
rra[8].xff = 5.0000000000e-01
rra[8].cdp_prep[0].value = NaN
rra[8].cdp_prep[0].unknown_datapoints = 0
rra[8].cdp_prep[1].value = NaN
rra[8].cdp_prep[1].unknown_datapoints = 0
rra[9].cf = "MAX"
rra[9].rows = 2016
rra[9].pdp_per_row = 1
rra[9].xff = 5.0000000000e-01
rra[9].cdp_prep[0].value = NaN
rra[9].cdp_prep[0].unknown_datapoints = 0
rra[9].cdp_prep[1].value = NaN
rra[9].cdp_prep[1].unknown_datapoints = 0
rra[10].cf = "MAX"
rra[10].rows = 8928
rra[10].pdp_per_row = 1
rra[10].xff = 5.0000000000e-01
rra[10].cdp_prep[0].value = NaN
rra[10].cdp_prep[0].unknown_datapoints = 0
rra[10].cdp_prep[1].value = NaN
rra[10].cdp_prep[1].unknown_datapoints = 0
rra[11].cf = "MAX"
rra[11].rows = 797
rra[11].pdp_per_row = 288
rra[11].xff = 5.0000000000e-01
rra[11].cdp_prep[0].value = 3.5619669256e+06
rra[11].cdp_prep[0].unknown_datapoints = 0
rra[11].cdp_prep[1].value = 2.5543123780e+05
rra[11].cdp_prep[1].unknown_datapoints = 0
rra[12].cf = "LAST"
rra[12].rows = 600
rra[12].pdp_per_row = 1
rra[12].xff = 5.0000000000e-01
rra[12].cdp_prep[0].value = NaN
rra[12].cdp_prep[0].unknown_datapoints = 0
rra[12].cdp_prep[1].value = NaN
rra[12].cdp_prep[1].unknown_datapoints = 0
rra[13].cf = "LAST"
rra[13].rows = 2016
rra[13].pdp_per_row = 1
rra[13].xff = 5.0000000000e-01
rra[13].cdp_prep[0].value = NaN
rra[13].cdp_prep[0].unknown_datapoints = 0
rra[13].cdp_prep[1].value = NaN
rra[13].cdp_prep[1].unknown_datapoints = 0
rra[14].cf = "LAST"
rra[14].rows = 8928
rra[14].pdp_per_row = 1
rra[14].xff = 5.0000000000e-01
rra[14].cdp_prep[0].value = NaN
rra[14].cdp_prep[0].unknown_datapoints = 0
rra[14].cdp_prep[1].value = NaN
rra[14].cdp_prep[1].unknown_datapoints = 0
rra[15].cf = "LAST"
rra[15].rows = 797
rra[15].pdp_per_row = 288
rra[15].xff = 5.0000000000e-01
rra[15].cdp_prep[0].value = 2.2031601484e+05
rra[15].cdp_prep[0].unknown_datapoints = 0
rra[15].cdp_prep[1].value = 2.1989164451e+04
rra[15].cdp_prep[1].unknown_datapoints = 0
- gandalf
- Developer
- Posts: 22383
- Joined: Thu Dec 02, 2004 2:46 am
- Location: Muenster, Germany
- Contact:
Still, you have multiple rra's with same pdp_per_row (same granularity).
I suppose it would be better, if we start from scratch (that does not mean you have to delete your rrd files).
1. Define the different granularities you want to have
e.g. you need 5 min resolution (timespan=number of entries will be dealt with later)
Do you need more? E.g. do you want to have 30 min granularity? Or 2h? Or 1 d? You may choose virtually _everything_, if it is only a multiple of 5 mins
2. Define the number of entries in each level of granularity
e.g. you want to hold 31 days of 5 min data = 12*24*31 entries needed
Suppose, you would need 1 h averages for, let's say, 6 months, this would yield 24*180 entries
Suppose, you would need 6 h averages for 400 days, this yields 4*400 entries
3. define the consolidation function
Most graphs show AVERAGEs only. So, only this CF would be needed. Personally, I'd like to add MAXimum CF as well. So you will be able not only to show AVERAGEs, but also MAXimums for consolidated data to preserve the peaks. In many cases, MIN and LAST are not really needed and will only double the space requirements (and increase rrdtool update run time). But of course, your mileage may vary. I've left off Holt-Winters stuff, cause I haven't dealt with this still.
As soon as you've answered these qeustions, let's design the rra definitions you'll need
Reinhard
I suppose it would be better, if we start from scratch (that does not mean you have to delete your rrd files).
1. Define the different granularities you want to have
e.g. you need 5 min resolution (timespan=number of entries will be dealt with later)
Do you need more? E.g. do you want to have 30 min granularity? Or 2h? Or 1 d? You may choose virtually _everything_, if it is only a multiple of 5 mins
2. Define the number of entries in each level of granularity
e.g. you want to hold 31 days of 5 min data = 12*24*31 entries needed
Suppose, you would need 1 h averages for, let's say, 6 months, this would yield 24*180 entries
Suppose, you would need 6 h averages for 400 days, this yields 4*400 entries
3. define the consolidation function
Most graphs show AVERAGEs only. So, only this CF would be needed. Personally, I'd like to add MAXimum CF as well. So you will be able not only to show AVERAGEs, but also MAXimums for consolidated data to preserve the peaks. In many cases, MIN and LAST are not really needed and will only double the space requirements (and increase rrdtool update run time). But of course, your mileage may vary. I've left off Holt-Winters stuff, cause I haven't dealt with this still.
As soon as you've answered these qeustions, let's design the rra definitions you'll need
Reinhard
You are being extremely helpful!
1. I would like 5 minute and 1 day granularities.
2. I want 5 min granularity up to at least 1 month and probably a little more (which I assume can be 12*24*40) and 1 day granularity for 1 year (12*24*366=105408 ?).
3. I currently had all the CF's selected (AVG, MIN, MAX, LAST). But I guess I do really only need average and maximum.
I am starting a fresh install of cacti also to make sure I do this right (backup up my current rrd's).
Thanks again for your help. It feels like I did just what you said already... But maybe not.
1. I would like 5 minute and 1 day granularities.
2. I want 5 min granularity up to at least 1 month and probably a little more (which I assume can be 12*24*40) and 1 day granularity for 1 year (12*24*366=105408 ?).
3. I currently had all the CF's selected (AVG, MIN, MAX, LAST). But I guess I do really only need average and maximum.
I am starting a fresh install of cacti also to make sure I do this right (backup up my current rrd's).
Thanks again for your help. It feels like I did just what you said already... But maybe not.
- gandalf
- Developer
- Posts: 22383
- Joined: Thu Dec 02, 2004 2:46 am
- Location: Muenster, Germany
- Contact:
Then this is settled, now.eger wrote:You are being extremely helpful!
1. I would like 5 minute and 1 day granularities.
Yep, I suppose 40 days is a better solution2. I want 5 min granularity up to at least 1 month and probably a little more (which I assume can be 12*24*40)
This will lead to NOT havin data for times older than a year. Persoanlly, I'd like to stick at least with 2 years and a bit. So double and round up to next higher number you like. But, of course, you may stick with your suggestion.and 1 day granularity for 1 year (12*24*366=105408 ?).
It's not of great importance but saves some disk space3. I currently had all the CF's selected (AVG, MIN, MAX, LAST). But I guess I do really only need average and maximum.
There's no need for a fresh install, AFAIK. But if you feel more secure, no one will stop you.I am starting a fresh install of cacti also to make sure I do this right (backup up my current rrd's).
So, let's now start the work. Goto Data Sources and select the "RRA's" options. You'll notice the standard 4 rra's that are shipped with cacti. Better let's _add_ our two new ones.
Define the rra related data first:
Name: New Daily Graphs (5 Minute Average)
Consolidation Functions: AVERAGE and MAX
X-Files Factor: 0.5
Steps: 1
Rows: 12*24*40
Timespan: 86400
This timespan will yield graphs that span one day, even if the rra holds data for 40 days.
Define the rra related data first:
Name: New Yearly Graphs (5 Minute Average)
Consolidation Functions: AVERAGE and MAX
X-Files Factor: 0.5
Steps: 288 (=12*24 to hold data of one day)
Rows: 366 (for one year, you may choose 767 or what you like)
Timespan: 33053184
This timespan will yield graphs that span one year.
That's the minimum here. When clicking the default graphs, this will yield two graphs only (the one you've defined). If you need a weekly/monthly view as well, some nasty workaround will be needed. This is due to the fact, that timespan and rra are related here. Call me, if you need more.
Now, you've to modify the Data Templates you want to use for the Graphs. Click them one after the other and modify Associated RRA's. Select your two newly generated RRA's as the _only_ ones. (If you want to change _all_ Data Templates, you may want not to create new RRA's as shown above, but _replace_ two of them and deleting the others. Be aware, that each and every Template import will change those RRA settings back to standard. So, personally, I like the approach above best)
If you create a new graph then, it will use the modified Data Template and take the new RRAs.
Reinhard
Awesome. Exactly what i'm looking to do. However the nasty workaround that you mention I will need. Since I need to be able to have a Monthly and wekly view.
Do you have a tutorial of the workaround somewhere I could follow?
It sounds to me like timespan in cacti should be separated from the RRA so that we can define the pdp per row and the timespans for graphs separately. If I understand you correctly, the data in the graph has nothing to do with the time span in which I display it.
Do you have a tutorial of the workaround somewhere I could follow?
It sounds to me like timespan in cacti should be separated from the RRA so that we can define the pdp per row and the timespans for graphs separately. If I understand you correctly, the data in the graph has nothing to do with the time span in which I display it.
Who is online
Users browsing this forum: No registered users and 1 guest