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

Tobias Oetiker tobi at oetiker.ch
Thu Jul 19 16:02:18 CEST 2012


Hi Sebastian,

Today Sebastian Koch wrote:

> Hi Tobi,
>
> Thanks for your fast reply. I appreaciate that. So basically this
> is because of the design of rrdtool.  I don't have the posiblity
> to graph the actual values, it is always somehow inerpolated even
> if i store values every minute with an 60 second step?
>
> I mean if it is designed lie that than we now at least know why
> the values are plotted like that.

if you enter data EXACTLY every 60 seconds, synchronized witth UTC,
then the values entered will be the values stored, but since most
real life applications will not be able to supply data at such
precision, you are most likely going to be faced with rrdtool
interpolating the data for you ... (there aremany threads on this
in the ML archives ... )

hth
tobi

>
> Regards,
>
> Stuttgart Office:
> azeti Networks AG
> Am Wallgraben 99 | 70565 Stuttgart
> Phone: +49 711 169 165 87
> Mobile: +49 151 122 90 334
> Fax: +49 711 67400-200
> sebastian.koch at azeti.net<mailto:sebastian.koch at azeti.net>
>
> Headquarter:
> azeti Networks AG
> Am Brambusch 1a | 44536 Lünen (Germany)
> www.azeti.net
>
> Executive Board:  Thorsten Schäfer , Dirk D. Sommerfeld
> Supervisory Board:  Rolf Mathies (Chairman)
> RB 22613 (AG Dortmund)   UID: DE249572762
>
> Am 19.07.2012 um 13:26 schrieb Sebastian Koch:
>
>
> 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 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
>
> _______________________________________________
> rrd-users mailing list
> rrd-users at lists.oetiker.ch<mailto:rrd-users at lists.oetiker.ch>
> https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users
>
>

-- 
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