Code

Imported upstream SVN snapshot 1.4~rc2+20090928.
[pkg-rrdtool.git] / doc / rrdgraph_examples.txt
index 369e3b5562da12cf90fe4d33fcd93ea36fd76abc..fa523bdfb1ecb6002a4ef8d0fb44f1cb94c68c37 100644 (file)
@@ -12,12 +12,11 @@ S\bSY\bYN\bNO\bOP\bPS\bSI\bIS\bS
 
 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
        For your convenience some of the commands are explained here by using
-       detailed examples. They are not always cut-and-paste ready because com-
-       ments are intermixed with the examples.
+       detailed examples. They are not always cut-and-paste ready because
+       comments are intermixed with the examples.
 
 E\bEX\bXA\bAM\bMP\bPL\bLE\bES\bS
-       D\bDa\bat\bta\ba w\bwi\bit\bth\bh m\bmu\bul\blt\bti\bip\bpl\ble\be r\bre\bes\bso\bol\blu\but\bti\bio\bon\bns\bs
-
+   D\bDa\bat\bta\ba w\bwi\bit\bth\bh m\bmu\bul\blt\bti\bip\bpl\ble\be r\bre\bes\bso\bol\blu\but\bti\bio\bon\bns\bs
            --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
@@ -26,8 +25,7 @@ E\bEX\bXA\bAM\bMP\bPL\bLE\bES\bS
            LINE1:ds0b#00CCFF:"resolution 1800 seconds per interval\l"
            LINE1:ds0c#FF00FF:"resolution 7200 seconds per interval\l"
 
-       N\bNi\bic\bce\bel\bly\by f\bfo\bor\brm\bma\bat\btt\bte\bed\bd l\ble\beg\bge\ben\bnd\bd s\bse\bec\bct\bti\bio\bon\bn
-
+   N\bNi\bic\bce\bel\bly\by f\bfo\bor\brm\bma\bat\btt\bte\bed\bd l\ble\beg\bge\ben\bnd\bd s\bse\bec\bct\bti\bio\bon\bn
            DEF:ds0=/home/rrdtool/data/router1.rrd:ds0:AVERAGE
            DEF:ds1=/home/rrdtool/data/router1.rrd:ds1:AVERAGE
            VDEF:ds0max=ds0,MAXIMUM
@@ -66,11 +64,10 @@ E\bEX\bXA\bAM\bMP\bPL\bLE\bES\bS
            GPRINT:ds1min:"%6.2lf %Sbps"
            GPRINT:ds1pct:"%6.2lf %Sbps\l"
 
-       O\bOf\bff\bfs\bse\bet\btt\bti\bin\bng\bg a\ba l\bli\bin\bne\be o\bon\bn t\bth\bhe\be y\by-\b-a\bax\bxi\bis\bs
-
+   O\bOf\bff\bfs\bse\bet\btt\bti\bin\bng\bg a\ba l\bli\bin\bne\be o\bon\bn t\bth\bhe\be y\by-\b-a\bax\bxi\bis\bs
        Depending on your needs you can do this in two ways:
 
-       ·   Offset the data, then graph this
+       Â·   Offset the data, then graph this
 
                DEF:mydata=my.rrd:ds:AVERAGE
 
@@ -79,7 +76,7 @@ E\bEX\bXA\bAM\bMP\bPL\bLE\bES\bS
                CDEF:data=mydata,100,+
                LINE1:data#FF0000:"Data with offset"
 
-       ·   Graph the original data, with an offset
+       Â·   Graph the original data, with an offset
 
                DEF:mydata=my.rrd:ds:AVERAGE
 
@@ -91,8 +88,17 @@ E\bEX\bXA\bAM\bMP\bPL\bLE\bES\bS
 
                LINE1:data#FF0000:"Data with offset":STACK
 
-       T\bTi\bim\bme\be r\bra\ban\bng\bge\bes\bs
+   D\bDr\bra\baw\bwi\bin\bng\bg d\bda\bas\bsh\bhe\bed\bd l\bli\bin\bne\bes\bs
+       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
+
+   T\bTi\bim\bme\be r\bra\ban\bng\bge\bes\bs
            Last four weeks: --start end-4w --end 00:00
            January 2001:    --start 20010101 --end start+31d
            January 2001:    --start 20010101 --end 20010201
@@ -100,8 +106,7 @@ E\bEX\bXA\bAM\bMP\bPL\bLE\bES\bS
            Last 24 hours:   <nothing at all>
            Yesterday:       --end 00:00
 
-       V\bVi\bie\bew\bwi\bin\bng\bg t\bth\bhe\be c\bcu\bur\brr\bre\ben\bnt\bt a\ban\bnd\bd p\bpr\bre\bev\bvi\bio\bou\bus\bs w\bwe\bee\bek\bk t\bto\bog\bge\bet\bth\bhe\ber\br
-
+   V\bVi\bie\bew\bwi\bin\bng\bg t\bth\bhe\be c\bcu\bur\brr\bre\ben\bnt\bt a\ban\bnd\bd p\bpr\bre\bev\bvi\bio\bou\bus\bs w\bwe\bee\bek\bk t\bto\bog\bge\bet\bth\bhe\ber\br
            --end now --start end-1w
            DEF:thisweek=router.rrd:ds0:AVERAGE
            DEF:lastweek=router.rrd:ds0:AVERAGE:end=now-1w:start=end-1w
@@ -113,19 +118,75 @@ E\bEX\bXA\bAM\bMP\bPL\bLE\bES\bS
            AREA:lastweek#0000FF:Last\ week
            LINE1:thisweek#FF0000:This\ week
 
+   A\bAb\bbe\ber\brr\bra\ban\bnt\bt B\bBe\beh\bha\bav\bvi\bio\bou\bur\br D\bDe\bet\bte\bec\bct\bti\bio\bon\bn
+       If the specialized function R\bRR\bRA\bAs\bs 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 R\bRR\bRA\bA, 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
+       R\bRR\bRA\bA. The predicted deviations (think standard deviation) values are
+       stored in the DEVPREDICT R\bRR\bRA\bA. Finally, the FAILURES R\bRR\bRA\bA 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 R\bRR\bRA\bA 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 R\bRR\bRA\bA. If the internal value is changed (see
+       rrdtune), this graphing command should be changed to be consistent.
+
+       _\bA _\bn_\bo_\bt_\be _\bo_\bn _\bd_\ba_\bt_\ba _\br_\be_\bd_\bu_\bc_\bt_\bi_\bo_\bn_\b:
+
+       The r\brr\brd\bdt\bto\boo\bol\bl _\bg_\br_\ba_\bp_\bh 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 R\bRR\bRA\bAs\bs on a coarser temporal scale, the
+       _\bg_\br_\ba_\bp_\bh command tries to do something intelligent, but the confidence
+       bands and failures no longer have the same meaning and may be
+       misleading.
+
 S\bSE\bEE\bE A\bAL\bLS\bSO\bO
        rrdgraph gives an overview of how r\brr\brd\bdt\bto\boo\bol\bl g\bgr\bra\bap\bph\bh works.  rrdgraph_data
        describes D\bDE\bEF\bF,C\bCD\bDE\bEF\bF and V\bVD\bDE\bEF\bF in detail.  rrdgraph_rpn describes the R\bRP\bPN\bN
        language used in the x\bxD\bDE\bEF\bF statements.  rrdgraph_graph page describes
        all the graph and print functions.
 
-       Make sure to read rrdgraph_examples for tips&tricks.
-
 A\bAU\bUT\bTH\bHO\bOR\bR
        Program by Tobias Oetiker <tobi@oetiker.ch>
 
-       This manual page by Alex van den Bogaerdt <alex@ergens.op.het.net>
+       This manual page by Alex van den Bogaerdt <alex@vandenbogaerdt.nl> with
+       corrections and/or additions by several people
 
 
 
-1.2.26                            2007-11-20              RRDGRAPH_EXAMPLES(1)
+1.3.999                           2009-05-10              RRDGRAPH_EXAMPLES(1)