Provided by: rrdtool_1.4.7-2ubuntu5_amd64 bug

NAME

       rrdgraph_examples - Examples for rrdtool graph

SYNOPSIS

       rrdtool graph /home/httpd/html/test.png --img-format PNG

       followed by any of the examples below

DESCRIPTION

       For your convenience some of the commands are explained here by using detailed examples.
       They are not always cut-and-paste ready because comments are intermixed with the examples.

EXAMPLES

   Data with multiple resolutions
           --end now --start end-120000s --width 400
           DEF:ds0a=/home/rrdtool/data/router1.rrd:ds0:AVERAGE
           DEF:ds0b=/home/rrdtool/data/router1.rrd:ds0:AVERAGE:step=1800
           DEF:ds0c=/home/rrdtool/data/router1.rrd:ds0:AVERAGE:step=7200
           LINE1:ds0a#0000FF:"default resolution\l"
           LINE1:ds0b#00CCFF:"resolution 1800 seconds per interval\l"
           LINE1:ds0c#FF00FF:"resolution 7200 seconds per interval\l"

   Nicely formatted legend section
           DEF:ds0=/home/rrdtool/data/router1.rrd:ds0:AVERAGE
           DEF:ds1=/home/rrdtool/data/router1.rrd:ds1:AVERAGE
           VDEF:ds0max=ds0,MAXIMUM
           VDEF:ds0avg=ds0,AVERAGE
           VDEF:ds0min=ds0,MINIMUM
           VDEF:ds0pct=ds0,95,PERCENT
           VDEF:ds1max=ds1,MAXIMUM
           VDEF:ds1avg=ds1,AVERAGE
           VDEF:ds1min=ds1,MINIMUM
           VDEF:ds1pct=ds1,95,PERCENT

       Note: consolidation occurs here.

           CDEF:ds0bits=ds0,8,*
           CDEF:ds1bits=ds1,8,*

       Note: 10 spaces to move text to the right

           COMMENT:"          "

       Note: the column titles have to be as wide as the columns

           COMMENT:"Maximum    "
           COMMENT:"Average    "
           COMMENT:"Minimum    "

           COMMENT:"95th percentile\l"
           AREA:ds0bits#00C000:"Inbound "
           GPRINT:ds0max:"%6.2lf %Sbps"
           GPRINT:ds0avg:"%6.2lf %Sbps"
           GPRINT:ds0min:"%6.2lf %Sbps"
           GPRINT:ds0pct:"%6.2lf %Sbps\l"
           LINE1:ds1bits#0000FF:"Outbound"
           GPRINT:ds1max:"%6.2lf %Sbps"
           GPRINT:ds1avg:"%6.2lf %Sbps"
           GPRINT:ds1min:"%6.2lf %Sbps"
           GPRINT:ds1pct:"%6.2lf %Sbps\l"

   Offsetting a line on the y-axis
       Depending on your needs you can do this in two ways:

       •   Offset the data, then graph this

               DEF:mydata=my.rrd:ds:AVERAGE

           Note: this will also influence any other command that uses "data"

               CDEF:data=mydata,100,+
               LINE1:data#FF0000:"Data with offset"

       •   Graph the original data, with an offset

               DEF:mydata=my.rrd:ds:AVERAGE

           Note: no color in the first line so it is not visible

               LINE1:100

           Note: the second line gets stacked on top of the first one

               LINE1:data#FF0000:"Data with offset":STACK

   Drawing dashed lines
       Also works for HRULE and VRULE

       •   default style: - - - - -
               LINE1:data#FF0000:"dashed line":dashes

       •   more fancy style with offset: - -  --- -  --- -
               LINE1:data#FF0000:"another dashed line":dashes=15,5,5,10:dash-offset=10

   Time ranges
           Last four weeks: --start end-4w --end 00:00
           January 2001:    --start 20010101 --end start+31d
           January 2001:    --start 20010101 --end 20010201
           Last hour:       --start end-1h
           Last 24 hours:   <nothing at all>
           Yesterday:       --end 00:00

   Viewing the current and previous week together
           --end now --start end-1w
           DEF:thisweek=router.rrd:ds0:AVERAGE
           DEF:lastweek=router.rrd:ds0:AVERAGE:end=now-1w:start=end-1w

       Shift the data forward by one week (604800 seconds)

           SHIFT:lastweek:604800
           [ more of the usual VDEF and CDEF stuff if you like ]
           AREA:lastweek#0000FF:Last\ week
           LINE1:thisweek#FF0000:This\ week

   Aberrant Behaviour Detection
       If the specialized function RRAs exist for aberrant behavior detection, they can be used
       to generate the graph of a time series with confidence bands and failures.

          rrdtool graph example.png \
                 DEF:obs=monitor.rrd:ifOutOctets:AVERAGE \
                 DEF:pred=monitor.rrd:ifOutOctets:HWPREDICT \
                 DEF:dev=monitor.rrd:ifOutOctets:DEVPREDICT \
                 DEF:fail=monitor.rrd:ifOutOctets:FAILURES \
                 TICK:fail#ffffa0:1.0:"Failures\: Average bits out" \
                 CDEF:scaledobs=obs,8,* \
                 CDEF:upper=pred,dev,2,*,+ \
                 CDEF:lower=pred,dev,2,*,- \
                 CDEF:scaledupper=upper,8,* \
                 CDEF:scaledlower=lower,8,* \
                 LINE2:scaledobs#0000ff:"Average bits out" \
                 LINE1:scaledupper#ff0000:"Upper Confidence Bound: Average bits out" \
                 LINE1:scaledlower#ff0000:"Lower Confidence Bound: Average bits out"

       This example generates a graph of the data series in blue (LINE2 with the scaledobs
       virtual data source), confidence bounds in red (scaledupper and scaledlower virtual data
       sources), and potential failures (i.e. potential aberrant aberrant behavior) marked by
       vertical yellow lines (the fail data source).

       The raw data comes from an AVERAGE RRA, the finest resolution of the observed time series
       (one consolidated data point per primary data point). The predicted (or smoothed) values
       are stored in the HWPREDICT RRA. The predicted deviations (think standard deviation)
       values are stored in the DEVPREDICT RRA. Finally, the FAILURES RRA contains indicators,
       with 1 denoting a potential failure.

       All of the data is rescaled to bits (instead of Octets) by multiplying by 8.  The
       confidence bounds are computed by an offset of 2 deviations both above and below the
       predicted values (the CDEFs upper and lower). Vertical lines indicated potential failures
       are graphed via the TICK graph element, which converts non-zero values in an RRA into tick
       marks. Here an axis-fraction argument of 1.0 means the tick marks span the entire y-axis,
       and hence become vertical lines on the graph.

       The choice of 2 deviations (a scaling factor) matches the default used internally by the
       FAILURES RRA. If the internal value is changed (see rrdtune), this graphing command should
       be changed to be consistent.

       A note on data reduction:

       The rrdtool graph command is designed to plot data at a specified temporal resolution,
       regardless of the actually resolution of the data in the RRD file.  This can present a
       problem for the specialized consolidation functions which maintain a one-to-one mapping
       between primary data points and consolidated data points. If a graph insists on viewing
       the contents of these RRAs on a coarser temporal scale, the graph command tries to do
       something intelligent, but the confidence bands and failures no longer have the same
       meaning and may be misleading.

SEE ALSO

       rrdgraph gives an overview of how rrdtool graph works.  rrdgraph_data describes DEF,CDEF
       and VDEF in detail.  rrdgraph_rpn describes the RPN language used in the xDEF statements.
       rrdgraph_graph page describes all the graph and print functions.

AUTHOR

       Program by Tobias Oetiker <tobi@oetiker.ch>

       This manual page by Alex van den Bogaerdt <alex@vandenbogaerdt.nl> with corrections and/or
       additions by several people