Sorry about the late reply, I've been on holiday for a bit. While I have not done any testing to validate this, this is my interpretation of the documentation for RRD. Viewing the RRD create command, I think you might be skewing your own data set.
First, it must be clear that the round robin databases do NOT directly record or evaluate the values collected by Zenoss. RRD's track changes over fixed periods of time. Data in the RRA's are recorded in what RRD term Primary Data Points. It should first be noted that we control the execution time of the performance monitors, but do not control when the data is received, due to network latency, CPU utilization, etc. RRDs compensate for this fact by calculating the value that it records at a certain PDP interval, giving you a more normalized data set. So the only variable that is recorded is the value, not the value and the time. In an ideal situation, you should have multiple results to factor for each primary data point, and multiple PDPs for each RRA record recorded. Lets look at an example. We'll use your current configuration: Syntax: RRA:AVERAGE | MIN | MAX | LAST:xff:steps:rows RRA:AVERAGE:0.5:1:525600 RRA:MAX:0.5:1:525600 If we were to manually record the value of a guage time=0 value=5000 (This is the last recorded data point) A t=+12 v=5400 (400/12sec=33.333 per second) B t=+30 v=5700 (700/30sec=23.333 per second) C t=+42 v=Unk (unknown) D t=+56 v=6600 (1600/56sec=28.571 per second) E t=+60 equals next PDP (but no value recorded) F t=+88 v=4600 (-400/78sec=-4.545 per second) in theory, Zenoss could return any one of these values depending on when the collection agent returned a value. If Zenoss returned A, you would calculate the PDP at T=+60 at 33.333*60 seconds. If Zenoss returned B, then you calculate t=+60 as 23.333*60seconds. If Zenoss returned D, then you calculate the PDP at t=+60 as 28.571*60seconds. If it returns A, B, C, and D, it would keep replacing t=+60 with each value until the step time had elapsed. Now if Zenoss only returned F, you could get both the t=+60 AND the t=+120 recorded at 4.545*60 and 4.545*120 respectively. You could see how this could begin to skew your data. Now, you've set your RRA to record every 1 steps, so you record every PDP into your Round Robin Archive (one for every calculated 60 sec value). Your rows are 525600 so you save one years worth of data (60*24*365=525600). I stated that Zenoss may be configured to record a single data point, if your check cycle time (60 secs) is equal to your RRD PDP. If you begin your collection every 60 seconds, you may be getting quite a few Unknowns in your data set (as you are only doing one lookup for the PDP cycle, it is likely you will not get a value for every time period.) The xff of .5 means that if more than 50% of the results are unknown (I.E. fall outside of the MIN and MAX values you configured for your Data Point), than it records an UNKNOWN for the PDP, and since your step is one, that also gets recorded in your RRA. Because you are recording every PDP (your steps=1), your consilidation function (AVERAGE, MIN, MAX and LAST) is irrelevant. They will always be equal because there is only one step. This is what you are seeing. You can verify your PDP cycle (step) time by using "rrdtool info /path/to/rrdfile" Now lets suppose you change your PDP cycle(step) time to 10 seconds and your RRA step value to 6. We're now going to work with the calculated PDP values in the RRD file. If you had the following PDP values: t=+10 PDPvalue=6400 t=+20 PDPvalue=4300 t=+30 PDPvalue=unknown t=+40 PDPvalue=unknown t=+50 PDPvalue=5700 t=+60 PDPvalue=5300 So if your Consolidation Function was LAST, you would record 5300 in your RRA for this PDP set. If it was MIN, you would record 4300, if it was MAX, you would record 6400 and if it was AVERAGE, you would record 5425 ((6400+4300+5700+5300)/4). Note that the Consolidation Function (MIN,MAX,LAST,AVERAGE) effectively only comes into play when you have a step value > 2. If you are trying to graph the maximum value for a specific time period, assuming a 60 second PDP cycle, I would consider adding the following lines to your RRD create command: RRA:MAX:0.5:1440:730 (max PDP value over 24 hours, keep 2 years) RRA:MAX:0.5:10080:730 (max PDP value over the last week, keep 2 years) RRA:MAX:0.5:40320:104 (max PDP over a 4 week period) If you only want to print the maximum bandwidth available on the graph, use the HRULE statement in you graph command, and for sanity, set your MAX Y to a reasonable value just above your HRULE value (so it doesn't keep changing scale as your values do). On Tue, 2007-07-03 at 11:57 +0000, Sator81 wrote: -- 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
