jmp242 wrote:
> I've been posting about doing some printer monitoring, and I'm trying to 
> graph how many pages were printed between the last poll and this one.
> 
> I've got a script that now outputs pages printed as an integer. This 
> however, is not getting graphed as an integer.
> 
> For instance, if I have 0 pages, then 2 pages, then 2 pages, then 0 
> pages say (in my test printer), I'm getting
> cur:0.00 - which is ok, but it really ought to be 0.
> avg:242.62m - ???? I have no idea what/where that's coming from - what's 
> m ??? I'm guessing it's doing an average of some sort.
> max:1.77 - that's clearly wrong, as 2 would be the max...
> 
> And finally, the graphs don't go cleanly to 2, in fact as might be 
> guessed by the max:1.77, they never show 2. So you cannot see how many 
> pages were printed...
> 
> Is there a way to get this to work even close to what I want?


The good news is yes, you can accomplish what you want and you are not the 
first to struggle with this.  The bad news is that it may not be easy to do.  
RRDTool takes some time to understand fully.

The fundamental problem is a conflict between the way your .rrd was initially 
setup to collect data and how you want to pull data out.  RRDTool is designed 
to graph and store rates.  In fact everything stored in an .rrd is a rate 
(http://oss.oetiker.ch/rrdtool/doc/rrdcreate.en.html#IIt_s_always_a_Rate), so 
your 1.77 value is probably in pages/second.  This may be less than meaningful, 
but you can still get good data out of RRDTool if it is setup correctly.

If you used the default Zenoss performance monitor settings you created 
averages right off the bat without even knowing it, which generated the values 
you see today.

Let's say you want to poll the printer every 5 minutes using your script.  
You'd have to create your .rrd using something like this:
Code:
rrdtool create printerX-pages-printed.rrd --step=300 \
  DS:pages:ABSOLUTE:600:0:U \
  RRA:LAST:0.5:1:288 \
  RRA:MAX:0.5:1:288 \
  RRA:AVERAGE:0.5:288:600



The keys here are the ABSOLUTE data source type and the LAST consolidation 
function.  The other AVERAGE is for daily averaged data, probably more 
appropriate at that level.  Now you can poll the printer and stick the data in 
the .rrd.

To graph this appropriately without averaging, scaling, consolidating, etc you 
have to pull (and display) the data at the same interval (and multiple) you put 
it in (http://oss.oetiker.ch/rrdtool/doc/rrdfetch.en.html#IRESOLUTION_INTERVAL).

>From the command line I'd use this:

Code:
rrdtool graph pages.png --start=end-1day --end=now --step=300 \
--height=100 \
--width=500 \
--vertical-label=pages/5 minutes \
DEF:mypages=printerX-pages-printed.rrd:pages:LAST \
AREA:mypages#00FF00:Pages\l \
GPRINT:mypages:LAST:cur\:%0 \
GPRINT:mypages:MAX:max\:%0\j



In Zenoss all this can be done under the Performance Template section.  Your 
Data Point should be of Type ABSOLUTE, your Graph Point should use LAST 
Consolidation, and the Format should be %0 to remove the decimal values.

I think this is correct (untested.)  I'm no expert and you might have better 
luck on the RRDTool lists.




-------------------- m2f --------------------

Read this topic online here:
http://community.zenoss.com/forums/viewtopic.php?p=19946#19946

-------------------- m2f --------------------



_______________________________________________
zenoss-users mailing list
[email protected]
http://lists.zenoss.org/mailman/listinfo/zenoss-users

Reply via email to