rrdtoolrrd

RRD Tool - confusing start time


I'm setting up a rrd database to store sensor data for 3 days in 12hr intervalls (43200s) = 6 row in RRA.

rrdtool create test.rrd --step 43200 --start 1562429286 DS:temp:GAUGE:86400:U:U RRA:AVERAGE:0:1:6

The databases starting time is 1562429286 (06.07.2019 - 18:08:06).

When I dump the database:

rrdtool dump test.rrd

it says (output trimmed for clarity):

2019-07-04 02:00:00 CEST / 1562198400 NaN

2019-07-04 14:00:00 CEST / 1562241600 NaN

2019-07-05 02:00:00 CEST / 1562284800 NaN

2019-07-05 14:00:00 CEST / 1562328000 NaN

2019-07-06 02:00:00 CEST / 1562371200 NaN

2019-07-06 14:00:00 CEST / 1562414400 NaN

I expected rrdtool to give the next nearest timestamp ( 6.7.19 18:00 ) as the last entry ("starting point") instead. So why is it at 14:00 ? At first this explanation (How to create a rrd file with a specific time?) made perfect sense for the small intervall of 5m to me. But in my case I cannot get behind the logic if the intervall is bigger (12h)


Solution

  • This is because the RRA buckets are always normalised to be aligned to the GMT (UCT) timezone. It is not visible if you are using a cdp (consolodated data point) width of an hour or less; but in your case, your cdp are 12 hours in width. Your timezone means that these are offset by 2 hours from UCT zero resulting in apparent boundaries of 02 and 14 local time (if you were in London then you'd be seeing 0 and 12 as expected).

    This effect is much more noticeable when you are using 1-day rollups and are located in somewhere like New Zealand, when you'll see the CDP boundary appearing at noon rather than at midnight.

    It is not currently possible to specify a different timezone to use as a base for the RRA buckets (this would make the data nonportable) though I believe it has been on the RRDTool feature request list for a number of years.