[rrd-users] plotted value and last_ds differ - plotting a actual value

Tobias Oetiker tobi at oetiker.ch
Thu Jul 19 13:52:59 CEST 2012


Hi Sebastian,

Today Sebastian Koch wrote:

>
> Hello,
>
> i experience a strange rrd graph behavior and i am unable to
> solve this issue by my own.  Hopefully some of you can explain
> that behavior to me.  The main issue is that it seems like the
> value which is saved into the RRD (which i see as last_ds) is not
> plotted, instead a consolidated (seems to me like that) value is
> plotted which is nearly like original one but not exactly.  I am
> aware of the consolidation functions, we are saving AVERAGE and
> LAST values in to the RRD and i am printing the LAST value as a
> text below the graph.
>
> I suggest that the graphing command is wrong and therefore actual
> last measured value isn't plotted?  Following is an example.  The
> measured value is 11.87, i can see it in my rrd but a slightly
> lower value (10.87) is plotted.

rrdtool does not give you access to the last value submitted to
rrdtool update ... the reason it is even stored is only to serve as
a basis for calculating the rate in connection with the next value
you submit when running a datasource in COUNTER or DERIVE mode.

hth
tobi

>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> rrdtool info
>
> rrd_version = "0003"
> step = 60
> last_update = 1341830472
> ds[val].type = "GAUGE"
> ds[val].minimal_heartbeat = 10000
> ds[val].min = 0.0000000000e+00
> ds[val].max = NaN
> ds[val].last_ds = "11.87"
> ds[val].value = 1.4244000000e+02
> ds[val].unknown_sec = 0
> ds[green].type = "GAUGE"
> ds[green].minimal_heartbeat = 10000
> ds[green].min = 0.0000000000e+00
> ds[green].max = NaN
> ds[green].last_ds = "12.159"
> ds[green].value = 1.4590800000e+02
> ds[green].unknown_sec = 0
> ds[yellow].type = "GAUGE"
> ds[yellow].minimal_heartbeat = 10000
> ds[yellow].min = 0.0000000000e+00
> ds[yellow].max = NaN
> ds[yellow].last_ds = "12"
> ds[yellow].value = 1.4400000000e+02
> ds[yellow].unknown_sec = 0
> ds[red].type = "GAUGE"
> ds[red].minimal_heartbeat = 10000
> ds[red].min = 0.0000000000e+00
> ds[red].max = NaN
> ds[red].last_ds = "24"
> ds[red].value = 2.8800000000e+02
> ds[red].unknown_sec = 0
> rra[0].cf = "AVERAGE"
> rra[0].rows = 44640
> 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[0].cdp_prep[2].value = NaN
> rra[0].cdp_prep[2].unknown_datapoints = 0
> rra[0].cdp_prep[3].value = NaN
> rra[0].cdp_prep[3].unknown_datapoints = 0
> rra[1].cf = "MAX"
> rra[1].rows = 44640
> rra[1].pdp_per_row = 5
> rra[1].xff = 5.0000000000e-01
> rra[1].cdp_prep[0].value = 1.0869000000e+01
> rra[1].cdp_prep[0].unknown_datapoints = 0
> rra[1].cdp_prep[1].value = 1.0989150000e+01
> rra[1].cdp_prep[1].unknown_datapoints = 0
> rra[1].cdp_prep[2].value = 1.2000000000e+01
> rra[1].cdp_prep[2].unknown_datapoints = 0
> rra[1].cdp_prep[3].value = 2.4000000000e+01
> rra[1].cdp_prep[3].unknown_datapoints = 0
> rra[2].cf = "AVERAGE"
> rra[2].rows = 280320
> rra[2].pdp_per_row = 15
> rra[2].xff = 5.0000000000e-01
> rra[2].cdp_prep[0].value = 1.0917483333e+02
> rra[2].cdp_prep[0].unknown_datapoints = 0
> rra[2].cdp_prep[1].value = 8.2052400000e+01
> rra[2].cdp_prep[1].unknown_datapoints = 0
> rra[2].cdp_prep[2].value = 1.3200000000e+02
> rra[2].cdp_prep[2].unknown_datapoints = 0
> rra[2].cdp_prep[3].value = 2.6400000000e+02
> rra[2].cdp_prep[3].unknown_datapoints = 0
> rra[3].cf = "MAX"
> rra[3].rows = 280320
> rra[3].pdp_per_row = 75
> rra[3].xff = 5.0000000000e-01
> rra[3].cdp_prep[0].value = 2.0209166667e+01
> rra[3].cdp_prep[0].unknown_datapoints = 0
> rra[3].cdp_prep[1].value = 1.5927900000e+01
> rra[3].cdp_prep[1].unknown_datapoints = 0
> rra[3].cdp_prep[2].value = 1.2000000000e+01
> rra[3].cdp_prep[2].unknown_datapoints = 0
> rra[3].cdp_prep[3].value = 2.4000000000e+01
> rra[3].cdp_prep[3].unknown_datapoints = 0
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> the value:
> OK - Value is 11.87
> Performance Data: 'Value'=11.87;12;24;; 'Value2'=12.159;12;24;;
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> This is the graph command:
>
> RRD: command: /usr/local/bin/rrdtool graph - --vertical-label="Value / Value2"  --lower-limit 0 --end now --start now-1y --width 800 --height 250 --title "Yearly View" DEF:val=/mnt/hd/daaz/var/rrds/Perf-Random-1#SonicWall01.rrd:val:AVERAGE CDEF:nval=val,UN,0,val,IF DEF:green=/mnt/hd/daaz/var/rrds/Perf-Random-1#SonicWall01.rrd:green:AVERAGE CDEF:nval2=green,UN,0,green,IF VDEF:avg=val,AVERAGE VDEF:max=val,MAXIMUM VDEF:min=val,MINIMUM VDEF:last=val,LAST VDEF:avg2=green,AVERAGE VDEF:max2=green,MAXIMUM VDEF:min2=green,MINIMUM VDEF:last2=green,LAST COMMENT:"                                                                        Value         Value2\n"  GPRINT:last:"                                                       Last    \: %12.2lf"  GPRINT:last2:" %12.2lf\n"  GPRINT:min:"                                                       Minimum \: %12.2lf"  GPRINT:min2:" %12.2lf\n"  GPRINT:avg:"                                                       Average \: %12.2lf"  GPRINT:avg2:" %
 12.2lf\n
 "  GPRINT:max:"                                                       Maximum \: %12.2lf"  GPRINT:max2:" %12.2lf\n"  LINE2:nval#00CC00:"Value"  LINE1:last#4387FF:"Value Latest"  LINE2:nval2#000000:"Value2"  LINE1:12.00#FFCC00:"Warning "  LINE1:24.00#FF0000:"Critical"
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Thanks n advance for your help.
>
> Best regards from Stuttgart (germany).
>
> Sebastian
>
>

-- 
Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten, Switzerland
http://it.oetiker.ch tobi at oetiker.ch ++41 62 775 9902 / sb: -9900


More information about the rrd-users mailing list