2

i am populating an rrd db once an hour. The value gets successfully updated in rrd db but it doesnt doesnt get updated to archives

Whenever i try to fetch data using rrdfetch it return NaN and rrddump showns dump too.

but rrdtool info shows the last update value .

steps is 2000 and rras

'RRA:MIN:0.5:1:44640'
'RRA:MAX:0.5:1:44640'
'RRA:AVERAGE:0.5:1:44640'
'RRA:LAST:0.1:1:44640'

Following is my rrdtool info output .

filename = "abc.red.prod.rrd"
rrd_version = "0003"
step = 2000
last_update = 1341392733
ds[resume_l].type = "GAUGE"
ds[resume_l].minimal_heartbeat = 2000
ds[resume_l].min = NaN
ds[resume_l].max = NaN
ds[resume_l].last_ds = "22403399"
ds[resume_l].value = 1.6471702915e+10
ds[resume_l].unknown_sec = 0
ds[suspend_l].type = "GAUGE"
ds[suspend_l].minimal_heartbeat = 2000
ds[suspend_l].min = NaN
ds[suspend_l].max = NaN
ds[suspend_l].last_ds = "23203177"
    ds[suspend_l].value = 1.7281112506e+10
    ds[suspend_l].unknown_sec = 0
    rra[0].cf = "MIN"
    rra[0].rows = 44640
    rra[0].cur_row = 31110
    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 = "MAX"
    rra[1].rows = 44640
    rra[1].cur_row = 32625
    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 = 44640
    rra[2].cur_row = 41634
    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 = "LAST"
    rra[3].rows = 44640
    rra[3].cur_row = 8075
    rra[3].pdp_per_row = 1
    rra[3].xff = 1.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

and this is the output of rrdtool dump .. only selected regions

                        <!-- 2012-07-04 01:06:40 UTC / 1341364000 --> <row><v> NaN </v><v> NaN </v></row>
                    <!-- 2012-07-04 01:40:00 UTC / 1341366000 --> <row><v> NaN </v><v> NaN </v></row>
                    <!-- 2012-07-04 02:13:20 UTC / 1341368000 --> <row><v> NaN </v><v> NaN </v></row>
                    <!-- 2012-07-04 02:46:40 UTC / 1341370000 --> <row><v> NaN </v><v> NaN </v></row>
                    <!-- 2012-07-04 03:20:00 UTC / 1341372000 --> <row><v> NaN </v><v> NaN </v></row>
                    <!-- 2012-07-04 03:53:20 UTC / 1341374000 --> <row><v> NaN </v><v> NaN </v></row>
                    <!-- 2012-07-04 04:26:40 UTC / 1341376000 --> <row><v> NaN </v><v> NaN </v></row>
                    <!-- 2012-07-04 05:00:00 UTC / 1341378000 --> <row><v> NaN </v><v> NaN </v></row>
                    <!-- 2012-07-04 05:33:20 UTC / 1341380000 --> <row><v> NaN </v><v> NaN </v></row>
                    <!-- 2012-07-04 06:06:40 UTC / 1341382000 --> <row><v> NaN </v><v> NaN </v></row>
                    <!-- 2012-07-04 06:40:00 UTC / 1341384000 --> <row><v> NaN </v><v> NaN </v></row>
                    <!-- 2012-07-04 07:13:20 UTC / 1341386000 --> <row><v> NaN </v><v> NaN </v></row>
                    <!-- 2012-07-04 07:46:40 UTC / 1341388000 --> <row><v> NaN </v><v> NaN </v></row>
                    <!-- 2012-07-04 08:20:00 UTC / 1341390000 --> <row><v> NaN </v><v> NaN </v></row>
                    <!-- 2012-07-04 08:53:20 UTC / 1341392000 --> <row><v> NaN </v><v> NaN </v></row>
            </database>
    </rra>

Anuj
  • 9,222
  • 8
  • 33
  • 30

1 Answers1

3

note, that rrdtool does silently ignore values violating data source restrictions set at creation time ... it will log NaN instead. Use updatev instead of update to get instant feedback on what is stored to the RRAs.

Tobi Oetiker
  • 5,167
  • 2
  • 17
  • 23
  • Alex van den Bogaerdt suggested in rrd-users mailing list suggested that my update window is 3600 where as my heartbeat is 2000 which causes rrd to consider the data as unreliable and make it NaN.. Are you referring the same gap or is there any other glaring issue . i am new to rrds so any suggestion will be useful – Anuj Jul 05 '12 at 10:33
  • 1
    I did not look too closely at the file structure, but yes alex is right, if you tell rrdtool to expect updates every 2000 seconds and you enter updates every 3600 seconds, then it will certainly render all your updates to NaN ... – Tobi Oetiker Jul 09 '12 at 06:16
  • +1 Note for Cacti users: if you change values in a Cacti data template, you have to manually remove the RRD file so it is regenerated – Andomar Sep 02 '14 at 09:30