Lets start from the end. Since you have two RRA statement, and the step is one, you can drop the RRA:MAX... you could in fact drop the RRA max since it is redundant, you max value in a data set of one record will always be the same as the average (value/1).
But looking back at your previous posts I think that the problem of different max values as you zoom out will be exacerbated by only having one RRA data set to work with. I believe that you are interested in displaying the high water mark for a given period. However, because you only have one data set recorded, you will end up watering down your values. Say you are displaying two weeks worth of data that is recorded at your 1 minute interval. Your graph is 700 pixels wide, so you have 50 pixels to display 1440 maximum values recorded for each day. RRD is going to have to display the average of every 28 maximum values to represent in each column of pixels. You would be much better off using several RRA definitions to reduce the amount of averaging that is occurring. Ideally, you would want 1 data point for each pixel, to get the best resolution. Since what matters to you is getting your Zenoss graphs to display the same as your cacti graphs, I would analyze the cacti RRD files and build your Zenoss definition to match. Use the "rrdtool info rrdfilename" on your cacti rrd databases to analyze them. For example, here is a commented mrtg rrd file: [EMAIL PROTECTED] ]# rrdtool info 10.100.1.1.rrd filename = "10.100.1.1.rrd" rrd_version = "0003" step = 300 (recording data every 5 minutes, same as Zenoss) last_update = 1127995300 ds[ds0].type = "GAUGE" (1st data point definition in zenoss) ds[ds0].minimal_heartbeat = 600 ds[ds0].min = 0.0000000000e+00 (datapoint minimum = 0) ds[ds0].max = 1.0000000000e+02 (datapoint maximum = 100) ds[ds0].last_ds = "UNKN" ds[ds0].value = 0.0000000000e+00 ds[ds0].unknown_sec = 100 ds[ds1].type = "GAUGE" (2nd data point definiton in zenoss) ds[ds1].minimal_heartbeat = 600 ds[ds1].min = 0.0000000000e+00 (datapoint minimum = 0) ds[ds1].max = 1.0000000000e+02 (datapoint maximum = 100) ds[ds1].last_ds = "UNKN" ds[ds1].value = 0.0000000000e+00 ds[ds1].unknown_sec = 100 rra[0].cf = "AVERAGE" (first RRA is Average) rra[0].rows = 800 (800 rows = 2.67 days) rra[0].pdp_per_row = 1 (steps = 1 = 5 minutes) rra[0].xff = 5.0000000000e-01 (xff=.5) 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 = "AVERAGE" (2nd RRA is Average) rra[1].rows = 800 (800 rows = 16.67 days) rra[1].pdp_per_row = 6 (steps = 6 = 30 minutes) rra[1].xff = 5.0000000000e-01 (xff=.5) 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" (3rd RRA is Average) rra[2].rows = 800 rra[2].pdp_per_row = 24 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 = "AVERAGE" (4th RRA is Average) rra[3].rows = 800 rra[3].pdp_per_row = 288 rra[3].xff = 5.0000000000e-01 rra[3].cdp_prep[0].value = NaN rra[3].cdp_prep[0].unknown_datapoints = 144 rra[3].cdp_prep[1].value = NaN rra[3].cdp_prep[1].unknown_datapoints = 144 rra[4].cf = "MAX" (first MAX RRA) rra[4].rows = 800 (800 rows = 2.67 days) rra[4].pdp_per_row = 1 (steps = 1 = 5 minutes) rra[4].xff = 5.0000000000e-01 (xff=.5) rra[4].cdp_prep[0].value = NaN rra[4].cdp_prep[0].unknown_datapoints = 0 rra[4].cdp_prep[1].value = NaN rra[4].cdp_prep[1].unknown_datapoints = 0 rra[5].cf = "MAX" (2nd MAX RRA) rra[5].rows = 800 rra[5].pdp_per_row = 6 rra[5].xff = 5.0000000000e-01 rra[5].cdp_prep[0].value = NaN rra[5].cdp_prep[0].unknown_datapoints = 0 rra[5].cdp_prep[1].value = NaN rra[5].cdp_prep[1].unknown_datapoints = 0 rra[6].cf = "MAX" (3rd MAX RRA) rra[6].rows = 800 rra[6].pdp_per_row = 24 rra[6].xff = 5.0000000000e-01 rra[6].cdp_prep[0].value = NaN rra[6].cdp_prep[0].unknown_datapoints = 0 rra[6].cdp_prep[1].value = NaN rra[6].cdp_prep[1].unknown_datapoints = 0 rra[7].cf = "MAX" (4th MAX RRA) rra[7].rows = 800 rra[7].pdp_per_row = 288 rra[7].xff = 5.0000000000e-01 rra[7].cdp_prep[0].value = NaN rra[7].cdp_prep[0].unknown_datapoints = 144 rra[7].cdp_prep[1].value = NaN rra[7].cdp_prep[1].unknown_datapoints = 144 Here MRTG is storing the Incomong packets and Outgoing packets in the same RRD file. Zenoss uses separate RRD files. So my MRTG definition is using 8 RRA definitions, so I would use the following statements to create the same RRD in Zenoss. Syntax: RRA:AVERAGE | MIN | MAX | LAST:xff:steps:rows RRA:AVERAGE:.5:1:800 RRA:AVERAGE:.5:6:800 RRA:AVERAGE:.5:24:800 RRA:AVERAGE:.5:288:800 RRA:MAX:.5:1:800 RRA:MAX:.5:6:800 RRA:MAX:.5:24:800 RRA:MAX:.5:288:800 Looking at your graph statement below, there are a few things that stand out. > --rigid \ > --base=1000 \ > --height=150 \ > --width=700 \ The only way I know to get Zenoss to execute rigid is to set the minimum and maximum values to display in your graph. You may get some values that overlap, but you can modify the perfconf to increase it as needed. > DEF:a="/var/www/cacti/rra/foo_traffic_in_224.rrd":traffic_in:MAX \ > DEF:b="/var/www/cacti/rra/foo_traffic_in_224.rrd":traffic_out:MAX \ > CDEF:cdefa=a,8,* \ > CDEF:cdefe=b,8,* \ Your DEF commands are going to come from selecting the data sources in your graph config. Zenoss normally stores the converted value in the RRD, by defining it in the data point. So MRTG converts on the way out, while Zenoss converts on the way in. I would instead use the VDEF statements to choose the MAX value instead of the AVERAGE. VDEF:datasource_datapoint_maximum=datasource_datapoint,MAXIMUM > GPRINT:cdefa:LAST:" Current\:%8.2lf %s" \ > GPRINT:cdefa:AVERAGE:"Average\:%8.2lf %s" \ > GPRINT:cdefa:MAX:"Maximum\:%8.2lf %s\n" \ MRTG is recording data at %8.2lf %s instead of %5.2lf %s like zenoss. So there is a bit more precision in the MRTG data. This can be adjusted in the data point definition. On Fri, 2007-07-13 at 14:00 +0000, Sator81 wrote: > Thank you for a thorough reply. > > Regarding the HRULE, it does not address my needs since I woud have to > redesign the graph for each and every hos. Since I am monitoring WAN links > from 128Kb frame-relay to Gb. > > But I am stil puzzeld from what I have made Cacti do that Zenoss doesnt. > So I ran a debug on the rrdtool graph command wich shows: > > /usr/bin/rrdtool graph - \ > --imgformat=PNG \ > --start=1181739864 \ > --end=1184331864 \ > --title="Foo - Traffic - Gi0/1" \ > --rigid \ > --base=1000 \ > --height=150 \ > --width=700 \ > --alt-autoscale-max \ > --lower-limit=0 \ > COMMENT:"From 2007/06/13 15\:04\:24 To 2007/07/13 15\:04\:24\c" \ > COMMENT:" \n" \ > --vertical-label="bits per second" \ > --slope-mode \ > DEF:a="/var/www/cacti/rra/foo_traffic_in_224.rrd":traffic_in:MAX \ > DEF:b="/var/www/cacti/rra/foo_traffic_in_224.rrd":traffic_out:MAX \ > CDEF:cdefa=a,8,* \ > CDEF:cdefe=b,8,* \ > AREA:cdefa#00CF00:"Inbound" \ > GPRINT:cdefa:LAST:" Current\:%8.2lf %s" \ > GPRINT:cdefa:AVERAGE:"Average\:%8.2lf %s" \ > GPRINT:cdefa:MAX:"Maximum\:%8.2lf %s\n" \ > LINE1:cdefe#002A97:"Outbound" \ > GPRINT:cdefe:LAST:"Current\:%8.2lf %s" \ > GPRINT:cdefe:AVERAGE:"Average\:%8.2lf %s" \ > GPRINT:cdefe:MAX:"Maximum\:%8.2lf %s" > > The only difference from the debug output from that graph wich shows max > values and average values is the CF in bold. Wich on this debug display the > peak values of that port for a month. But i havent been able to find where > the scripts grab's the DEF values. But from your writing I dont think that > really matters since the data itself seems to be collected to a single data > point. > > So It must be something else aswell, couse if I extend the width of the graph > so it has more room, the values in Zenoss become higher in the same manner as > if I where to zoom inn. So the data I want has been collected, stored and > read but not displayed acordingly :? > > But for future devices you think it will work fine if I remove the > "RRA:MAX:0.5:1:525600" since I already have the same data covered in the > "RRA:AVERAGE:0.5:1:525600" DS yes? > > > Regards > > ------------------------ > Kai > > > > > -------------------- m2f -------------------- > > Read this topic online here: > http://community.zenoss.com/forums/viewtopic.php?p=8688#8688 > > -------------------- m2f -------------------- > > > > _______________________________________________ > zenoss-users mailing list > [email protected] > http://lists.zenoss.org/mailman/listinfo/zenoss-users -- James D. Roman IT Network Administration Terranet Inc.On contract to: Science Systems and Applications, Inc. _______________________________________________ zenoss-users mailing list [email protected] http://lists.zenoss.org/mailman/listinfo/zenoss-users
