[rrd-users] Average problem

Simon Hobson linux at thehobsons.co.uk
Mon Nov 19 12:18:16 CET 2007


At 11:22 +0100 19/11/07, Gwenael Lahay wrote:
>Hello,
> 
>I store network flows in various rrd file.
> 
>I use this options to create rrd files :
>rrdtool create test.rrd --step 60 DS:bytes:ABSOLUTE:400:0:U DS:packets:ABSOLUTE:400:0:U DS:flows:ABSOLUTE:400:0:U RRA:AVERAGE:1:0:4320 RRA:AVERAGE:0:5:2016 RRA:AVERAGE:0:15:2976

>From the help pages :

>>RRA:AVERAGE | MIN | MAX | LAST:xff:steps:rows
>>xff The xfiles factor defines what part of a consolidation interval may be made up from *UNKNOWN* data while the consolidated value is still regarded as known. It is given as the ratio of allowed *UNKNOWN* PDPs to the number of PDPs in the interval. Thus, it ranges from 0 to 1 (exclusive).
>>steps defines how many of these primary data points are used to build a consolidated data point which then goes into the archive.
>>rows defines how many generations of data values are kept in an RRA.

In your RRA definitions, you have one with ZERO steps, the others have ZERO for xff - which means they cannot have any unknown data at all.

>I create a rrd when i found a flow.
> 
>I have a problem on average calculation.
> 
>For example, i detect a flow at 2007-11-14 10:30:00. Then i create a file with the first value at this timestamp.
>Then, i have only zero value.
> 
>...
><!-- 2007-11-14 10:28:00 CET / 1195032480 --> <row><v> NaN </v><v> NaN </v><v> NaN </v></row>
><!-- 2007-11-14 10:29:00 CET / 1195032540 --> <row><v> NaN </v><v> NaN </v><v> NaN </v></row>
><!-- 2007-11-14 10:30:00 CET / 1195032600 --> <row><v> 1.5000000000e+00 </v><v> 1.6666666667e-02 </v><v> 1.6666666667e-02 </v></row>
><!-- 2007-11-14 10:31:00 CET / 1195032660 --> <row><v> 0.0000000000e+00 </v><v> 0.0000000000e+00 </v><v> 0.0000000000e+00 </v></row>
><!-- 2007-11-14 10:32:00 CET / 1195032720 --> <row><v> 0.0000000000e+00 </v><v> 0.0000000000e+00 </v><v> 0.0000000000e+00 </v></row>
>...
> 
>The problem is that the average which is calculated every half an hour indicates NaN at 10:30:00 while i am waiting from a value greater than zero.
> 
> <!-- 2007-11-14 09:00:00 CET / 1195027200 --> <row><v> NaN </v><v> NaN </v><v> NaN </v></row>
><!-- 2007-11-14 09:30:00 CET / 1195029000 --> <row><v> NaN </v><v> NaN </v><v> NaN </v></row>
><!-- 2007-11-14 10:00:00 CET / 1195030800 --> <row><v> NaN </v><v> NaN </v><v> NaN </v></row>
> <!-- 2007-11-14 10:30:00 CET / 1195032600 --> <row><v> NaN </v><v> NaN </v><v> NaN </v></row>
><!-- 2007-11-14 11:00:00 CET / 1195034400 --> <row><v> 0.0000000000e+00 </v><v> 0.0000000000e+00 </v><v> 0.0000000000e+00 </v></row>
><!-- 2007-11-14 11:30:00 CET / 1195036200 --> <row><v> 0.0000000000e+00 </v><v> 0.0000000000e+00 </v><v> 0.0000000000e+00 </v></row>
> 
>Could you help me ? Is there a solution to initialize the rdd with zero values ?


At 10:30, for the period 10:00 to 10:30 you have 29 unknown values and 1 known values - since 29/30 is greater than zero (the xff value for the RRA) then the result is unknown.

However, I cannot see this RRA in the definition given above. I can only see RRAs for 0, 5, and 15 steps/cdp.



More information about the rrd-users mailing list