Code

Imported upstream version 1.4~rc2.
[pkg-rrdtool.git] / doc / rrdtool.html
index abe72c807e62bbb30a4aab787575f96bea646780..bd284e74f7304ea9c862f6f638f5756b601b22ed 100644 (file)
@@ -1,18 +1,14 @@
-<?xml version="1.0" ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <title>rrdtool</title>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <title>rrdtool</title>
-<meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <link rev="made" href="mailto:root@localhost" />
 </head>
 
 <body style="background-color: white">
 
 <link rev="made" href="mailto:root@localhost" />
 </head>
 
 <body style="background-color: white">
 
-
-<!-- INDEX BEGIN -->
-<div name="index">
 <p><a name="__index__"></a></p>
 <p><a name="__index__"></a></p>
+<!-- INDEX BEGIN -->
 <!--
 
 <ul>
 <!--
 
 <ul>
                <li><a href="#rrd_server">RRD Server</a></li>
        </ul>
 
                <li><a href="#rrd_server">RRD Server</a></li>
        </ul>
 
+       <li><a href="#rrdcached__the_caching_daemon">RRDCACHED, THE CACHING DAEMON</a></li>
        <li><a href="#see_also">SEE ALSO</a></li>
        <li><a href="#bugs">BUGS</a></li>
        <li><a href="#author">AUTHOR</a></li>
 </ul>
        <li><a href="#see_also">SEE ALSO</a></li>
        <li><a href="#bugs">BUGS</a></li>
        <li><a href="#author">AUTHOR</a></li>
 </ul>
-
 -->
 -->
-
-
-</div>
 <!-- INDEX END -->
 
 <p>
 <!-- INDEX END -->
 
 <p>
@@ -83,85 +76,103 @@ further down. There is also a number of language bindings
 for RRDtool which allow you to use it directly from Perl, python, Tcl,
 PHP, etc.</p>
 <dl>
 for RRDtool which allow you to use it directly from Perl, python, Tcl,
 PHP, etc.</p>
 <dl>
-<dt><strong><a name="create" class="item"><strong>create</strong></a></strong></dt>
-
+<dt><strong><a name="item_create"><strong>create</strong></a></strong><br />
+</dt>
 <dd>
 <dd>
-<p>Set up a new Round Robin Database (RRD). Check <a href="././rrdcreate.html">the rrdcreate manpage</a>.</p>
+Set up a new Round Robin Database (RRD). Check <a href="././rrdcreate.html">the rrdcreate manpage</a>.
 </dd>
 </dd>
-<dt><strong><a name="update" class="item"><strong>update</strong></a></strong></dt>
-
+<p></p>
+<dt><strong><a name="item_update"><strong>update</strong></a></strong><br />
+</dt>
 <dd>
 <dd>
-<p>Store new data values into an RRD. Check <a href="././rrdupdate.html">the rrdupdate manpage</a>.</p>
+Store new data values into an RRD. Check <a href="././rrdupdate.html">the rrdupdate manpage</a>.
 </dd>
 </dd>
-<dt><strong><a name="updatev" class="item"><strong>updatev</strong></a></strong></dt>
-
+<p></p>
+<dt><strong><a name="item_updatev"><strong>updatev</strong></a></strong><br />
+</dt>
 <dd>
 <dd>
-<p>Operationally equivalent to <strong>update</strong> except for output. Check <a href="././rrdupdate.html">the rrdupdate manpage</a>.</p>
+Operationally equivalent to <strong>update</strong> except for output. Check <a href="././rrdupdate.html">the rrdupdate manpage</a>.
 </dd>
 </dd>
-<dt><strong><a name="graph" class="item"><strong>graph</strong></a></strong></dt>
-
+<p></p>
+<dt><strong><a name="item_graph"><strong>graph</strong></a></strong><br />
+</dt>
 <dd>
 <dd>
-<p>Create a graph from data stored in one or several RRDs. Apart from
-generating graphs, data can also be extracted to stdout. Check <a href="././rrdgraph.html">the rrdgraph manpage</a>.</p>
+Create a graph from data stored in one or several RRDs. Apart from
+generating graphs, data can also be extracted to stdout. Check <a href="././rrdgraph.html">the rrdgraph manpage</a>.
 </dd>
 </dd>
-<dt><strong><a name="dump" class="item"><strong>dump</strong></a></strong></dt>
-
+<p></p>
+<dt><strong><a name="item_dump"><strong>dump</strong></a></strong><br />
+</dt>
 <dd>
 <dd>
-<p>Dump the contents of an RRD in plain ASCII. In connection with restore
+Dump the contents of an RRD in plain ASCII. In connection with restore
 you can use this to move an RRD from one computer architecture to
 you can use this to move an RRD from one computer architecture to
-another.  Check <a href="././rrddump.html">the rrddump manpage</a>.</p>
+another.  Check <a href="././rrddump.html">the rrddump manpage</a>.
 </dd>
 </dd>
-<dt><strong><a name="restore" class="item"><strong>restore</strong></a></strong></dt>
-
+<p></p>
+<dt><strong><a name="item_restore"><strong>restore</strong></a></strong><br />
+</dt>
 <dd>
 <dd>
-<p>Restore an RRD in XML format to a binary RRD. Check <a href="././rrdrestore.html">the rrdrestore manpage</a></p>
+Restore an RRD in XML format to a binary RRD. Check <a href="././rrdrestore.html">the rrdrestore manpage</a>
 </dd>
 </dd>
-<dt><strong><a name="fetch" class="item"><strong>fetch</strong></a></strong></dt>
-
+<p></p>
+<dt><strong><a name="item_fetch"><strong>fetch</strong></a></strong><br />
+</dt>
 <dd>
 <dd>
-<p>Get data for a certain time period from a RRD. The graph function
-uses fetch to retrieve its data from an RRD. Check <a href="././rrdfetch.html">the rrdfetch manpage</a>.</p>
+Get data for a certain time period from a RRD. The graph function
+uses fetch to retrieve its data from an RRD. Check <a href="././rrdfetch.html">the rrdfetch manpage</a>.
 </dd>
 </dd>
-<dt><strong><a name="tune" class="item"><strong>tune</strong></a></strong></dt>
-
+<p></p>
+<dt><strong><a name="item_tune"><strong>tune</strong></a></strong><br />
+</dt>
 <dd>
 <dd>
-<p>Alter setup of an RRD. Check <a href="././rrdtune.html">the rrdtune manpage</a>.</p>
+Alter setup of an RRD. Check <a href="././rrdtune.html">the rrdtune manpage</a>.
 </dd>
 </dd>
-<dt><strong><a name="last" class="item"><strong>last</strong></a></strong></dt>
-
+<p></p>
+<dt><strong><a name="item_last"><strong>last</strong></a></strong><br />
+</dt>
 <dd>
 <dd>
-<p>Find the last update time of an RRD. Check <a href="././rrdlast.html">the rrdlast manpage</a>.</p>
+Find the last update time of an RRD. Check <a href="././rrdlast.html">the rrdlast manpage</a>.
 </dd>
 </dd>
-<dt><strong><a name="info" class="item"><strong>info</strong></a></strong></dt>
-
+<p></p>
+<dt><strong><a name="item_info"><strong>info</strong></a></strong><br />
+</dt>
 <dd>
 <dd>
-<p>Get information about an RRD. Check <a href="././rrdinfo.html">the rrdinfo manpage</a>.</p>
+Get information about an RRD. Check <a href="././rrdinfo.html">the rrdinfo manpage</a>.
 </dd>
 </dd>
-<dt><strong><a name="rrdresize" class="item"><strong>rrdresize</strong></a></strong></dt>
-
+<p></p>
+<dt><strong><a name="item_rrdresize"><strong>rrdresize</strong></a></strong><br />
+</dt>
 <dd>
 <dd>
-<p>Change the size of individual RRAs. This is dangerous! Check <a href="././rrdresize.html">the rrdresize manpage</a>.</p>
+Change the size of individual RRAs. This is dangerous! Check <a href="././rrdresize.html">the rrdresize manpage</a>.
 </dd>
 </dd>
-<dt><strong><a name="xport" class="item"><strong>xport</strong></a></strong></dt>
-
+<p></p>
+<dt><strong><a name="item_xport"><strong>xport</strong></a></strong><br />
+</dt>
 <dd>
 <dd>
-<p>Export data retrieved from one or several RRDs. Check <a href="././rrdxport.html">the rrdxport manpage</a></p>
+Export data retrieved from one or several RRDs. Check <a href="././rrdxport.html">the rrdxport manpage</a>.
 </dd>
 </dd>
-<dt><strong><a name="rrdcgi" class="item"><strong>rrdcgi</strong></a></strong></dt>
-
+<p></p>
+<dt><strong><a name="item_flushcached"><strong>flushcached</strong></a></strong><br />
+</dt>
 <dd>
 <dd>
-<p>This is a standalone tool for producing RRD graphs on the fly. Check
-<a href="././rrdcgi.html">the rrdcgi manpage</a>.</p>
+Flush the values for a specific RRD file from memory. Check <a href="././rrdflushcached.html">the rrdflushcached manpage</a>.
 </dd>
 </dd>
-</dl>
+<p></p>
+<dt><strong><a name="item_rrdcgi"><strong>rrdcgi</strong></a></strong><br />
+</dt>
+<dd>
+This is a standalone tool for producing RRD graphs on the fly. Check
+<a href="././rrdcgi.html">the rrdcgi manpage</a>.
+</dd>
+<p></p></dl>
 <p>
 </p>
 <h2><a name="how_does_rrdtool_work">HOW DOES RRDTOOL WORK?</a></h2>
 <dl>
 <p>
 </p>
 <h2><a name="how_does_rrdtool_work">HOW DOES RRDTOOL WORK?</a></h2>
 <dl>
-<dt><strong><a name="data_acquisition" class="item">Data Acquisition</a></strong></dt>
-
+<dt><strong><a name="item_data_acquisition">Data Acquisition</a></strong><br />
+</dt>
 <dd>
 <dd>
-<p>When monitoring the state of a system, it is convenient to have the
+When monitoring the state of a system, it is convenient to have the
 data available at a constant time interval. Unfortunately, you may not
 always be able to fetch data at exactly the time you want
 to. Therefore <strong>RRDtool</strong> lets you update the logfile at any time you
 data available at a constant time interval. Unfortunately, you may not
 always be able to fetch data at exactly the time you want
 to. Therefore <strong>RRDtool</strong> lets you update the logfile at any time you
@@ -169,12 +180,13 @@ want. It will automatically interpolate the value of the data-source
 (<strong>DS</strong>) at the latest official time-slot (interval) and write this
 interpolated value to the log. The original value you have supplied is
 stored as well and is also taken into account when interpolating the
 (<strong>DS</strong>) at the latest official time-slot (interval) and write this
 interpolated value to the log. The original value you have supplied is
 stored as well and is also taken into account when interpolating the
-next log entry.</p>
+next log entry.
 </dd>
 </dd>
-<dt><strong><a name="consolidation" class="item">Consolidation</a></strong></dt>
-
+<p></p>
+<dt><strong><a name="item_consolidation">Consolidation</a></strong><br />
+</dt>
 <dd>
 <dd>
-<p>You may log data at a 1 minute interval, but you might also be
+You may log data at a 1 minute interval, but you might also be
 interested to know the development of the data over the last year. You
 could do this by simply storing the data in 1 minute intervals for the
 whole year. While this would take considerable disk space it would
 interested to know the development of the data over the last year. You
 could do this by simply storing the data in 1 minute intervals for the
 whole year. While this would take considerable disk space it would
@@ -186,15 +198,18 @@ consolidation should occur, and what consolidation function (<strong>CF</strong>
 (average, minimum, maximum, total, last) should be used to build the
 consolidated values (see rrdcreate). You can define any number of
 different consolidation setups within one <strong>RRD</strong>. They will all be
 (average, minimum, maximum, total, last) should be used to build the
 consolidated values (see rrdcreate). You can define any number of
 different consolidation setups within one <strong>RRD</strong>. They will all be
-maintained on the fly when new data is loaded into the <strong>RRD</strong>.</p>
+maintained on the fly when new data is loaded into the <strong>RRD</strong>.
 </dd>
 </dd>
-<dt><strong><a name="round_robin_archives" class="item">Round Robin Archives</a></strong></dt>
-
+<p></p>
+<dt><strong><a name="item_round_robin_archives">Round Robin Archives</a></strong><br />
+</dt>
 <dd>
 <dd>
-<p>Data values of the same consolidation setup are stored into Round
+Data values of the same consolidation setup are stored into Round
 Robin Archives (<strong>RRA</strong>). This is a very efficient manner to store data
 for a certain amount of time, while using a known and constant amount
 Robin Archives (<strong>RRA</strong>). This is a very efficient manner to store data
 for a certain amount of time, while using a known and constant amount
-of storage space.</p>
+of storage space.
+</dd>
+<dd>
 <p>It works like this: If you want to store 1'000 values in 5 minute
 interval, <strong>RRDtool</strong> will allocate space for 1'000 data values and a
 header area. In the header it will store a pointer telling which slots
 <p>It works like this: If you want to store 1'000 values in 5 minute
 interval, <strong>RRDtool</strong> will allocate space for 1'000 data values and a
 header area. In the header it will store a pointer telling which slots
@@ -205,20 +220,25 @@ manner. This automatically limits the history to the last 1'000 values
 single <strong>RRD</strong>, you can setup another one, for storing 750 data values
 at a 2 hour interval, for example, and thus keep a log for the last
 two months at a lower resolution.</p>
 single <strong>RRD</strong>, you can setup another one, for storing 750 data values
 at a 2 hour interval, for example, and thus keep a log for the last
 two months at a lower resolution.</p>
+</dd>
+<dd>
 <p>The use of <strong>RRA</strong>s guarantees that the <strong>RRD</strong> does not grow over
 time and that old data is automatically eliminated. By using the
 consolidation feature, you can still keep data for a very long time,
 while gradually reducing the resolution of the data along the time
 axis.</p>
 <p>The use of <strong>RRA</strong>s guarantees that the <strong>RRD</strong> does not grow over
 time and that old data is automatically eliminated. By using the
 consolidation feature, you can still keep data for a very long time,
 while gradually reducing the resolution of the data along the time
 axis.</p>
+</dd>
+<dd>
 <p>Using different consolidation functions (<strong>CF</strong>) allows you to store
 exactly the type of information that actually interests you: the maximum
 one minute traffic on the LAN, the minimum temperature of your wine cellar,
 the total minutes of down time, etc.</p>
 </dd>
 <p>Using different consolidation functions (<strong>CF</strong>) allows you to store
 exactly the type of information that actually interests you: the maximum
 one minute traffic on the LAN, the minimum temperature of your wine cellar,
 the total minutes of down time, etc.</p>
 </dd>
-<dt><strong><a name="unknown_data" class="item">Unknown Data</a></strong></dt>
-
+<p></p>
+<dt><strong><a name="item_unknown_data">Unknown Data</a></strong><br />
+</dt>
 <dd>
 <dd>
-<p>As mentioned earlier, the <strong>RRD</strong> stores data at a constant
+As mentioned earlier, the <strong>RRD</strong> stores data at a constant
 interval. Sometimes it may happen that no new data is available when a
 value has to be written to the <strong>RRD</strong>. Data acquisition may not be
 possible for one reason or other. With <strong>RRDtool</strong> you can handle these
 interval. Sometimes it may happen that no new data is available when a
 value has to be written to the <strong>RRD</strong>. Data acquisition may not be
 possible for one reason or other. With <strong>RRDtool</strong> you can handle these
@@ -229,36 +249,40 @@ values is accounted for and when a new consolidated value is ready to
 be written to its Round Robin Archive (<strong>RRA</strong>), a validity check is
 performed to make sure that the percentage of unknown values in the
 data point is above a configurable level. If not, an <em>*UNKNOWN*</em> value
 be written to its Round Robin Archive (<strong>RRA</strong>), a validity check is
 performed to make sure that the percentage of unknown values in the
 data point is above a configurable level. If not, an <em>*UNKNOWN*</em> value
-will be written to the <strong>RRA</strong>.</p>
+will be written to the <strong>RRA</strong>.
 </dd>
 </dd>
-<dt><strong><a name="graphing" class="item">Graphing</a></strong></dt>
-
+<p></p>
+<dt><strong><a name="item_graphing">Graphing</a></strong><br />
+</dt>
 <dd>
 <dd>
-<p><strong>RRDtool</strong> allows you to generate reports in numerical and
+<strong>RRDtool</strong> allows you to generate reports in numerical and
 graphical form based on the data stored in one or several
 <strong>RRD</strong>s. The graphing feature is fully configurable. Size, color and
 contents of the graph can be defined freely. Check <a href="././rrdgraph.html">the rrdgraph manpage</a>
 graphical form based on the data stored in one or several
 <strong>RRD</strong>s. The graphing feature is fully configurable. Size, color and
 contents of the graph can be defined freely. Check <a href="././rrdgraph.html">the rrdgraph manpage</a>
-for more information on this.</p>
+for more information on this.
+</dd>
+<p></p>
+<dt><strong><a name="item_aberrant_behavior_detection">Aberrant Behavior Detection</a></strong><br />
+</dt>
+<dd>
+by Jake Brutlag
 </dd>
 </dd>
-<dt><strong><a name="aberrant_behavior_detection" class="item">Aberrant Behavior Detection</a></strong></dt>
-
 <dd>
 <dd>
-<p>by Jake Brutlag</p>
 <p><strong>RRDtool</strong> provides the building blocks for near real-time aberrant
 behavior detection. These components include:</p>
 <p><strong>RRDtool</strong> provides the building blocks for near real-time aberrant
 behavior detection. These components include:</p>
+</dd>
 <ul>
 <ul>
-<li>
-<p>An algorithm for predicting the value of a time series one time step
-into the future.</p>
-</li>
-<li>
-<p>A measure of deviation between predicted and observed values.</p>
-</li>
-<li>
-<p>A mechanism to decide if and when an observed value or sequence of
-observed values is <em>too deviant</em> from the predicted value(s).</p>
-</li>
-</ul>
+<li></li>
+An algorithm for predicting the value of a time series one time step
+into the future.
+<p></p>
+<li></li>
+A measure of deviation between predicted and observed values.
+<p></p>
+<li></li>
+A mechanism to decide if and when an observed value or sequence of
+observed values is <em>too deviant</em> from the predicted value(s).
+<p></p></ul>
 <p>Here is a brief explanation of these components:</p>
 <p>The Holt-Winters time series forecasting algorithm is an on-line (or
 incremental) algorithm that adaptively predicts future observations in
 <p>Here is a brief explanation of these components:</p>
 <p>The Holt-Winters time series forecasting algorithm is an on-line (or
 incremental) algorithm that adaptively predicts future observations in
@@ -267,7 +291,7 @@ a time series. Its forecast is the sum of three components: a baseline
 coefficient (a periodic effect, such as a daily cycle). There is one
 seasonal coefficient for each time point in the period (cycle). After
 a value is observed, each of these components is updated via
 coefficient (a periodic effect, such as a daily cycle). There is one
 seasonal coefficient for each time point in the period (cycle). After
 a value is observed, each of these components is updated via
-exponential smoothing. This means that the algorithm &quot;learns&quot; from
+exponential smoothing. This means that the algorithm ``learns'' from
 past values and uses them to predict the future. The rate of
 adaptation is governed by 3 parameters, alpha (intercept), beta
 (slope), and gamma (seasonal). The prediction can also be viewed as a
 past values and uses them to predict the future. The rate of
 adaptation is governed by 3 parameters, alpha (intercept), beta
 (slope), and gamma (seasonal). The prediction can also be viewed as a
@@ -292,7 +316,6 @@ particular, a FAILURES <strong>RRA</strong> logs potential failures. With these
 you could, for example, use a front-end application to <strong>RRDtool</strong> to
 initiate real-time alerts.</p>
 <p>For a detailed description on how to set this up, see <a href="././rrdcreate.html">the rrdcreate manpage</a>.</p>
 you could, for example, use a front-end application to <strong>RRDtool</strong> to
 initiate real-time alerts.</p>
 <p>For a detailed description on how to set this up, see <a href="././rrdcreate.html">the rrdcreate manpage</a>.</p>
-</dd>
 </dl>
 <p>
 </p>
 </dl>
 <p>
 </p>
@@ -339,8 +362,17 @@ such a port unless you are sure what you are doing.</p>
 <p>
 </p>
 <hr />
 <p>
 </p>
 <hr />
+<h1><a name="rrdcached__the_caching_daemon">RRDCACHED, THE CACHING DAEMON</a></h1>
+<p>For very big setups, updating thousands of RRD files often becomes a serious IO
+problem. If you run into such problems, you might want to take a look at
+<a href="././rrdcached.html">the rrdcached manpage</a>, a caching daemon for RRDTool which may help you lessen the
+stress on your disks.</p>
+<p>
+</p>
+<hr />
 <h1><a name="see_also">SEE ALSO</a></h1>
 <h1><a name="see_also">SEE ALSO</a></h1>
-<p>rrdcreate, rrdupdate, rrdgraph, rrddump, rrdfetch, rrdtune, rrdlast, rrdxport</p>
+<p>rrdcreate, rrdupdate, rrdgraph, rrddump, rrdfetch, rrdtune, rrdlast, rrdxport,
+rrdflushcached, rrdcached</p>
 <p>
 </p>
 <hr />
 <p>
 </p>
 <hr />