Code

Imported upstream version 1.3.8.
[pkg-rrdtool.git] / doc / rrdcreate.html
index 97172f63f487218bfe49fc41ab5cb649fa2ba19a..adc0755016ed333275f93346144a3470fcd96ee6 100644 (file)
@@ -9,8 +9,10 @@
 
 <body style="background-color: white">
 
-<p><a name="__index__"></a></p>
+
 <!-- INDEX BEGIN -->
+<div name="index">
+<p><a name="__index__"></a></p>
 <!--
 
 <ul>
        <ul>
 
                <li><a href="#filename"><em>filename</em></a></li>
-               <li><a href="#start_b_start_time__default__now__10s_"><strong>-start</strong>|<strong>-b</strong> <em>start time</em> (default: now - 10s)</a></li>
-               <li><a href="#step_s_step__default__300_seconds_"><strong>-step</strong>|<strong>-s</strong> <em>step</em> (default: 300 seconds)</a></li>
-               <li><a href="#ds_dsname_dst_dst_arguments"><strong>DS:</strong><em>ds-name</em><strong>:</strong><em>DST</em><strong>:</strong><em>dst arguments</em></a></li>
+               <li><a href="#__start__b_start_time__default__now___10s_"><strong>-start</strong>|<strong>-b</strong> <em>start time</em> (default: now - 10s)</a></li>
+               <li><a href="#__step__s_step__default__300_seconds_"><strong>-step</strong>|<strong>-s</strong> <em>step</em> (default: 300 seconds)</a></li>
+               <li><a href="#ds_ds_name_dst_dst_arguments"><strong>DS:</strong><em>ds-name</em><strong>:</strong><em>DST</em><strong>:</strong><em>dst arguments</em></a></li>
                <li><a href="#rra_cf_cf_arguments"><strong>RRA:</strong><em>CF</em><strong>:</strong><em>cf arguments</em></a></li>
        </ul>
 
-       <li><a href="#aberrant_behavior_detection_with_holtwinters_forecasting">Aberrant Behavior Detection with Holt-Winters Forecasting</a></li>
+       <li><a href="#aberrant_behavior_detection_with_holt_winters_forecasting">Aberrant Behavior Detection with Holt-Winters Forecasting</a></li>
        <li><a href="#the_heartbeat_and_the_step">The HEARTBEAT and the STEP</a></li>
        <li><a href="#how_to_measure">HOW TO MEASURE</a></li>
        <li><a href="#example">EXAMPLE</a></li>
        <li><a href="#example_3">EXAMPLE 3</a></li>
        <li><a href="#author">AUTHOR</a></li>
 </ul>
+
 -->
+
+
+</div>
 <!-- INDEX END -->
 
 <p>
@@ -62,11 +68,11 @@ and filled with <em>*UNKNOWN*</em> data.</p>
 </p>
 <h2><a name="filename"><em>filename</em></a></h2>
 <p>The name of the <strong>RRD</strong> you want to create. <strong>RRD</strong> files should end
-with the extension <em>.rrd</em>. However, <strong>RRDtool</strong> will accept any
+with the extension <em class="file">.rrd</em>. However, <strong>RRDtool</strong> will accept any
 filename.</p>
 <p>
 </p>
-<h2><a name="start_b_start_time__default__now__10s_"><strong>--start</strong>|<strong>-b</strong> <em>start time</em> (default: now - 10s)</a></h2>
+<h2><a name="__start__b_start_time__default__now___10s_"><strong>--start</strong>|<strong>-b</strong> <em>start time</em> (default: now - 10s)</a></h2>
 <p>Specifies the time in seconds since 1970-01-01 UTC when the first
 value should be added to the <strong>RRD</strong>. <strong>RRDtool</strong> will not accept
 any data timed before or at the time specified.</p>
@@ -74,12 +80,12 @@ any data timed before or at the time specified.</p>
 <em>rrdfetch</em> documentation for other ways to specify time.</p>
 <p>
 </p>
-<h2><a name="step_s_step__default__300_seconds_"><strong>--step</strong>|<strong>-s</strong> <em>step</em> (default: 300 seconds)</a></h2>
+<h2><a name="__step__s_step__default__300_seconds_"><strong>--step</strong>|<strong>-s</strong> <em>step</em> (default: 300 seconds)</a></h2>
 <p>Specifies the base interval in seconds with which data will be fed
 into the <strong>RRD</strong>.</p>
 <p>
 </p>
-<h2><a name="ds_dsname_dst_dst_arguments"><strong>DS:</strong><em>ds-name</em><strong>:</strong><em>DST</em><strong>:</strong><em>dst arguments</em></a></h2>
+<h2><a name="ds_ds_name_dst_dst_arguments"><strong>DS:</strong><em>ds-name</em><strong>:</strong><em>DST</em><strong>:</strong><em>dst arguments</em></a></h2>
 <p>A single <strong>RRD</strong> can accept input from several data sources (<strong>DS</strong>),
 for example incoming and outgoing traffic on a specific communication
 line. With the <strong>DS</strong> configuration option you must define some basic
@@ -94,16 +100,16 @@ DERIVE, and ABSOLUTE the format for a data source entry is:</p>
 <p>For COMPUTE data sources, the format is:</p>
 <p><strong>DS:</strong><em>ds-name</em><strong>:</strong><em>COMPUTE</em><strong>:</strong><em>rpn-expression</em></p>
 <p>In order to decide which data source type to use, review the
-definitions that follow. Also consult the section on ``HOW TO MEASURE''
+definitions that follow. Also consult the section on &quot;HOW TO MEASURE&quot;
 for further insight.</p>
 <dl>
-<dt><strong><a name="item_gauge"><strong>GAUGE</strong></a></strong></dt>
+<dt><strong><a name="gauge" class="item"><strong>GAUGE</strong></a></strong></dt>
 
 <dd>
 <p>is for things like temperatures or number of people in a room or the
 value of a RedHat share.</p>
 </dd>
-<dt><strong><a name="item_counter"><strong>COUNTER</strong></a></strong></dt>
+<dt><strong><a name="counter" class="item"><strong>COUNTER</strong></a></strong></dt>
 
 <dd>
 <p>is for continuous incrementing counters like the ifInOctets counter in
@@ -114,7 +120,7 @@ rate. When the counter overflows, RRDtool checks if the overflow
 happened at the 32bit or 64bit border and acts accordingly by adding
 an appropriate value to the result.</p>
 </dd>
-<dt><strong><a name="item_derive"><strong>DERIVE</strong></a></strong></dt>
+<dt><strong><a name="derive" class="item"><strong>DERIVE</strong></a></strong></dt>
 
 <dd>
 <p>will store the derivative of the line going from the last to the
@@ -126,10 +132,10 @@ might want to use DERIVE and combine it with a MIN value of 0.</p>
 <p><strong>NOTE on COUNTER vs DERIVE</strong></p>
 <p>by Don Baarda &lt;<a href="mailto:don.baarda@baesystems.com">don.baarda@baesystems.com</a>&gt;</p>
 <p>If you cannot tolerate ever mistaking the occasional counter reset for a
-legitimate counter wrap, and would prefer ``Unknowns'' for all legitimate
+legitimate counter wrap, and would prefer &quot;Unknowns&quot; for all legitimate
 counter wraps and resets, always use DERIVE with min=0. Otherwise, using
 COUNTER with a suitable max will return correct values for all legitimate
-counter wraps, mark some counter resets as ``Unknown'', but can mistake some
+counter wraps, mark some counter resets as &quot;Unknown&quot;, but can mistake some
 counter resets for a legitimate counter wrap.</p>
 <p>For a 5 minute step and 32-bit counter, the probability of mistaking a
 counter reset for a legitimate wrap is arguably about 0.8% per 1Mbps of
@@ -139,7 +145,7 @@ probably preferable. If you are using a 64bit counter, just about any max
 setting will eliminate the possibility of mistaking a reset for a counter
 wrap.</p>
 </dd>
-<dt><strong><a name="item_absolute"><strong>ABSOLUTE</strong></a></strong></dt>
+<dt><strong><a name="absolute" class="item"><strong>ABSOLUTE</strong></a></strong></dt>
 
 <dd>
 <p>is for counters which get reset upon reading. This is used for fast counters
@@ -148,7 +154,7 @@ after every read to make sure you have a maximum time available before the
 next overflow. Another usage is for things you count like number of messages
 since the last update.</p>
 </dd>
-<dt><strong><a name="item_compute"><strong>COMPUTE</strong></a></strong></dt>
+<dt><strong><a name="compute" class="item"><strong>COMPUTE</strong></a></strong></dt>
 
 <dd>
 <p>is for storing the result of a formula applied to other data sources
@@ -158,7 +164,7 @@ the data sources according to the rpn-expression that defines the
 formula. Consolidation functions are then applied normally to the PDPs
 of the COMPUTE data source (that is the rpn-expression is only applied
 to generate PDPs). In database software, such data sets are referred
-to as ``virtual'' or ``computed'' columns.</p>
+to as &quot;virtual&quot; or &quot;computed&quot; columns.</p>
 </dd>
 </dl>
 <p><em>heartbeat</em> defines the maximum number of seconds that may pass
@@ -197,22 +203,22 @@ the archive. There are several consolidation functions that
 consolidate primary data points via an aggregate function: <strong>AVERAGE</strong>,
 <strong>MIN</strong>, <strong>MAX</strong>, <strong>LAST</strong>.</p>
 <dl>
-<dt><strong><a name="item_average">AVERAGE</a></strong></dt>
+<dt><strong><a name="average" class="item">AVERAGE</a></strong></dt>
 
 <dd>
 <p>the average of the data points is stored.</p>
 </dd>
-<dt><strong><a name="item_min">MIN</a></strong></dt>
+<dt><strong><a name="min" class="item">MIN</a></strong></dt>
 
 <dd>
 <p>the smallest of the data points is stored.</p>
 </dd>
-<dt><strong><a name="item_max">MAX</a></strong></dt>
+<dt><strong><a name="max" class="item">MAX</a></strong></dt>
 
 <dd>
 <p>the largest of the data points is stored.</p>
 </dd>
-<dt><strong><a name="item_last">LAST</a></strong></dt>
+<dt><strong><a name="last" class="item">LAST</a></strong></dt>
 
 <dd>
 <p>the last data points is used.</p>
@@ -236,7 +242,7 @@ Obviously, this has to be greater than zero.</p>
 <p>
 </p>
 <hr />
-<h1><a name="aberrant_behavior_detection_with_holtwinters_forecasting">Aberrant Behavior Detection with Holt-Winters Forecasting</a></h1>
+<h1><a name="aberrant_behavior_detection_with_holt_winters_forecasting">Aberrant Behavior Detection with Holt-Winters Forecasting</a></h1>
 <p>In addition to the aggregate functions, there are a set of specialized
 functions that enable <strong>RRDtool</strong> to provide data smoothing (via the
 Holt-Winters forecasting algorithm), confidence bands, and the
@@ -386,28 +392,28 @@ default value is 9.</p>
 It may help you to sort out why all this *UNKNOWN* data is popping
 up in your databases:</p>
 <p>RRDtool gets fed samples/updates at arbitrary times. From these it builds Primary
-Data Points (PDPs) on every ``step'' interval. The PDPs are
+Data Points (PDPs) on every &quot;step&quot; interval. The PDPs are
 then accumulated into the RRAs.</p>
-<p>The ``heartbeat'' defines the maximum acceptable interval between
-samples/updates. If the interval between samples is less than ``heartbeat'',
+<p>The &quot;heartbeat&quot; defines the maximum acceptable interval between
+samples/updates. If the interval between samples is less than &quot;heartbeat&quot;,
 then an average rate is calculated and applied for that interval. If
-the interval between samples is longer than ``heartbeat'', then that
-entire interval is considered ``unknown''. Note that there are other
-things that can make a sample interval ``unknown'', such as the rate
+the interval between samples is longer than &quot;heartbeat&quot;, then that
+entire interval is considered &quot;unknown&quot;. Note that there are other
+things that can make a sample interval &quot;unknown&quot;, such as the rate
 exceeding limits, or a sample that was explicitly marked as unknown.</p>
-<p>The known rates during a PDP's ``step'' interval are used to calculate
-an average rate for that PDP. If the total ``unknown'' time accounts for
-more than <strong>half</strong> the ``step'', the entire PDP is marked
-as ``unknown''. This means that a mixture of known and ``unknown'' sample
-times in a single PDP ``step'' may or may not add up to enough ``known''
+<p>The known rates during a PDP's &quot;step&quot; interval are used to calculate
+an average rate for that PDP. If the total &quot;unknown&quot; time accounts for
+more than <strong>half</strong> the &quot;step&quot;, the entire PDP is marked
+as &quot;unknown&quot;. This means that a mixture of known and &quot;unknown&quot; sample
+times in a single PDP &quot;step&quot; may or may not add up to enough &quot;known&quot;
 time to warrent for a known PDP.</p>
-<p>The ``heartbeat'' can be short (unusual) or long (typical) relative to
-the ``step'' interval between PDPs. A short ``heartbeat'' means you
+<p>The &quot;heartbeat&quot; can be short (unusual) or long (typical) relative to
+the &quot;step&quot; interval between PDPs. A short &quot;heartbeat&quot; means you
 require multiple samples per PDP, and if you don't get them mark the
-PDP unknown. A long heartbeat can span multiple ``steps'', which means
+PDP unknown. A long heartbeat can span multiple &quot;steps&quot;, which means
 it is acceptable to have multiple PDPs calculated from a single
-sample. An extreme example of this might be a ``step'' of 5 minutes and a
-``heartbeat'' of one day, in which case a single sample every day will
+sample. An extreme example of this might be a &quot;step&quot; of 5 minutes and a
+&quot;heartbeat&quot; of one day, in which case a single sample every day will
 result in all the PDPs for that entire day period being set to the
 same average rate. <em>-- Don Baarda &lt;<a href="mailto:don.baarda@baesystems.com">don.baarda@baesystems.com</a>&gt;</em></p>
 <pre>
@@ -453,7 +459,7 @@ same average rate. <em>-- Don Baarda &lt;<a href="mailto:don.baarda@baesystems.c
 <h1><a name="how_to_measure">HOW TO MEASURE</a></h1>
 <p>Here are a few hints on how to measure:</p>
 <dl>
-<dt><strong><a name="item_temperature">Temperature</a></strong></dt>
+<dt><strong><a name="temperature" class="item">Temperature</a></strong></dt>
 
 <dd>
 <p>Usually you have some type of meter you can read to get the temperature.
@@ -462,7 +468,7 @@ that the temperature reading happened at a certain time. You can use the
 <strong>GAUGE</strong> data source type for this. RRDtool will then record your reading
 together with the time.</p>
 </dd>
-<dt><strong><a name="item_mail_messages">Mail Messages</a></strong></dt>
+<dt><strong><a name="mail_messages" class="item">Mail Messages</a></strong></dt>
 
 <dd>
 <p>Assume you have a method to count the number of messages transported by
@@ -476,7 +482,7 @@ from RRDtool for the day in question and multiply this number with the
 number of seconds in a day. Because all math is run with Doubles, the
 precision should be acceptable.</p>
 </dd>
-<dt><strong><a name="item_it_27s_always_a_rate">It's always a Rate</a></strong></dt>
+<dt><strong><a name="it_s_always_a_rate" class="item">It's always a Rate</a></strong></dt>
 
 <dd>
 <p>RRDtool stores rates in amount/second for COUNTER, DERIVE and ABSOLUTE
@@ -484,7 +490,7 @@ data.  When you plot the data, you will get on the y axis
 amount/second which you might be tempted to convert to an absolute
 amount by multiplying by the delta-time between the points. RRDtool
 plots continuous data, and as such is not appropriate for plotting
-absolute amounts as for example ``total bytes'' sent and received in a
+absolute amounts as for example &quot;total bytes&quot; sent and received in a
 router. What you probably want is plot rates that you can scale to
 bytes/hour, for example, or plot absolute amounts with another tool
 that draws bar-plots, where the delta-time is clear on the plot for
@@ -503,7 +509,7 @@ on the y axis, days on the x axis and one bar for each day).</p>
   RRA:MIN:0.5:12:2400 \
   RRA:MAX:0.5:12:2400 \
   RRA:AVERAGE:0.5:12:2400</pre>
-<p>This sets up an <strong>RRD</strong> called <em>temperature.rrd</em> which accepts one
+<p>This sets up an <strong>RRD</strong> called <em class="file">temperature.rrd</em> which accepts one
 temperature value every 300 seconds. If no new data is supplied for
 more than 600 seconds, the temperature becomes <em>*UNKNOWN*</em>.  The
 minimum acceptable value is -273 and the maximum is 5'000.</p>