1

I have two rrdtool files, one using a 60 second step and the other a 300 second step. For some reason my updates to the 300 second step file don't seem to register.

I have the files being updated by a cron job every 1 and 5 minutes respectively, however even when I try this manually it fails:

Here are the commands for the 300 second file. The last row still contains "NaN"s even after updating it.

$ rrdtool create temps-5min.rrd --step 300 DS:cpu0:GAUGE:120:0:150 DS:cpu1:GAUGE:120:0:150 DS:ada0:GAUGE:120:0:100 DS:ada1:GAUGE:120:0:100 DS:ada2:GAUGE:120:0:100 DS:ada3:GAUGE:120:0:100 RRA:MAX:0.5:1:3000
$ rrdtool update temps-5min.rrd N:31:27:39:38:34:34
$ rrdtool dump temps-5min.rrd | tail -n 6
      <!-- 2016-04-07 22:05:00 PDT / 1460091900 --> <row><v>NaN</v><v>NaN</v><v>NaN</v><v>NaN</v><v>NaN</v><v>NaN</v></row>
      <!-- 2016-04-07 22:10:00 PDT / 1460092200 --> <row><v>NaN</v><v>NaN</v><v>NaN</v><v>NaN</v><v>NaN</v><v>NaN</v></row>
      <!-- 2016-04-07 22:15:00 PDT / 1460092500 --> <row><v>NaN</v><v>NaN</v><v>NaN</v><v>NaN</v><v>NaN</v><v>NaN</v></row>
    </database>
  </rra>
</rrd>

Here are the commands for the 60 second file. The last row (correctly) contains data:

$ rrdtool create temps-1min.rrd --step 60 DS:cpu0:GAUGE:120:0:150 DS:cpu1:GAUGE:120:0:150 DS:ada0:GAUGE:120:0:100 DS:ada1:GAUGE:120:0:100 DS:ada2:GAUGE:120:0:100 DS:ada3:GAUGE:120:0:100 RRA:MAX:0.5:1:3000
$ rrdtool update temps-1min.rrd N:31:27:39:38:34:34
$ rrdtool dump temps-1min.rrd | tail -n 6

      <!-- 2016-04-07 22:19:00 PDT / 1460092740 --> <row><v>NaN</v><v>NaN</v><v>NaN</v><v>NaN</v><v>NaN</v><v>NaN</v></row>
      <!-- 2016-04-07 22:20:00 PDT / 1460092800 --> <row><v>NaN</v><v>NaN</v><v>NaN</v><v>NaN</v><v>NaN</v><v>NaN</v></row>
      <!-- 2016-04-07 22:21:00 PDT / 1460092860 --> <row><v>3.1000000000e+01</v><v>2.7000000000e+01</v><v>3.9000000000e+01</v><v>3.8000000000e+01</v><v>3.4000000000e+01</v><v>3.4000000000e+01</v></row>
    </database>
  </rra>
</rrd>

Besides the step value, everything else is the same. Is there some problem with the time window that I'm submitting the update during? I will occasionally get data into the file, but it almost always silently fails.

seren
  • 306
  • 2
  • 12

1 Answers1

2

You are defining your data sources such that they require updating every 120 seconds ... this is fine. But only as long as you actually do that ...

My guess is that in the case of your 300 second step rrd file, you would rather want to define it with a 600 second minimum required heart beat.:

rrdtool create temps-5min.rrd --step 300 DS:cpu0:GAUGE:600:0:150 DS:cpu1:GAUGE:600:0:150 DS:ada0:GAUGE:600:0:100 DS:ada1:GAUGE:600:0:100 DS:ada2:GAUGE:600:0:100 DS:ada3:GAUGE:600:0:100 RRA:MAX:0.5:1:3000
Tobi Oetiker
  • 5,167
  • 2
  • 17
  • 23