improved fetch explanation -- Nenad.Antic@era.ericsson.se
[rrdtool.git] / doc / rrdtool.pod
index e487863..cd4757f 100644 (file)
@@ -6,7 +6,7 @@ rrdtool - round robin database tool
 
 =head1 SYNOPSIS
 
-B<rrdtool> B<-> | I<function>
+B<rrdtool> B<-> [workdir]| I<function>
 
 =head1 DESCRIPTION
 
@@ -82,6 +82,10 @@ Find last update time of an RRD. Check L<rrdlast>.
 
 Change the size of individual RRAs ... Dangerous! Check L<rrdresize>.
 
+=item B<xport>
+
+Export data retrieved from one or several RRD. Check L<rrdxport>
+
 =item B<rrdcgi>
 
 This is a standalone tool for producing rrd graphs on the fly. Check
@@ -170,6 +174,63 @@ B<RRD>s. The graphing feature is fully configurable. Size, color and
 contents of the graph can be defined freely. Check L<rrdgraph>
 for more information on this.
 
+=item Aberrant Behavior Detection
+
+by Jake Brutlag E<lt>jakeb@corp.webtv.netE<gt>
+
+The  B<rrdtool> also provides the building blocks for near real-time
+aberrant behavior detection. These components include:
+
+=over 12
+
+=item *
+
+An algorithm for predicting the values time series one time step into the future.
+
+=item *
+
+A measure of deviation between the predicted values and the observed values.
+
+=item *
+
+A mechanism to decide if and when an observed value
+or sequence of observed values is I<too deviant> from the predicted value(s).
+
+=back
+
+Each of these components is briefly described:
+
+Holt-Winters Time Series Forecasting Algorithm is an online, or incremental, 
+algorithm that adaptively predicts future observations in a time series. It's 
+forecast is the sum of three components: a baseline (or intercept), a linear 
+trend over time (or slope), and a seasonal 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. So 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 smoothed value for the time series.
+
+The measure of deviation is a seasonal weighted absolute deviation. The term 
+I<seasonal> means deviation is measured separately for each time point in the 
+seasonal cycle. As with Holt-Winters Forecasting, deviation is predicted using 
+the measure computed from past values (but only at that point in the seasonal cycle). 
+After the value is observed, the algorithm learns from the observed value via 
+exponential smoothing. Confidence bands for the observed time series are generated 
+by scaling the sequence of predicted deviation values (we usually think of the sequence 
+as a continuous line rather than a set of discrete points).
+
+Aberrant behavior (a potential failure) is reported whenever the number of 
+times the observed value violates the confidence bands meets or exceeds a 
+specified threshold within a specified temporal window (i.e. 5 violations 
+during the past 45 minutes with a value observed every 5 mintues).
+
+This functionality is embedded in a set of related B<RRAs>. In particular, a FAILURES
+B<RRA> logs potential failures. Presumably a front-end application to B<rrdtool> can
+utilize this B<RRA> to initiate real-time alerts if that is desired.
+
+You can find a detailed description of how to set this up in L<rrdcreate>.
+
 =back
 
 =head2 REMOTE CONTROL
@@ -178,17 +239,47 @@ When you start B<rrdtool> with the command line option 'B<->', it waits
 for input via standard in. With this feature you can improve
 performance by attaching B<rrdtool> to another process (mrtg is one
 example) through a set of pipes. Over the pipes B<rrdtool> accepts the
-same arguments as on the command line. When a command is completed, 
-rrdtool will print the string  'C<OK>', followed by timing information of
-the form B<u:>I<usertime> B<s:>I<systemtime> both values are running
-totals of seconds since rrdtool was started. If an error occurs, a line 
-of the form 'C<ERROR:> I<Description of error>' will be printed. B<rrdtool>
+same arguments as on the command line and some spezial commands like
+B<quit, cd, mkdir> and B<ls>. For detail helps about the server commands
+type :
+
+   rrdtool help cd|mkdir|ls|quit
+
+When a command is completed, rrdtool will print the string  'C<OK>', 
+followed by timing information of the form B<u:>I<usertime> 
+B<s:>I<systemtime> both values are running totals of seconds 
+since rrdtool was started. If an error occurs, a line of the 
+form 'C<ERROR:> I<Description of error>' will be printed. B<rrdtool>
 will not abort if possible, but follow the ERROR line with an OK line.
+If a B<workdir> is spezified and the UID is 0, rrdtool will do a 
+chroot to the workdir. If the UID is not 0, rrdtool only changes the
+current directory to B<workdir>.
+
+=head2 RRD Server
+
+If you want to create a RRD-Server, you must choose a TCP/IP Service 
+number and add them to I</etc/services> like this:
+
+ rrdsrv      13900/tcp                       # rrd server
+
+Attention: the tcp port 13900 isn't official registered for rrdsrv. You
+can use any unused port in your services, but the server an the client
+system must use the same port of curse.
+After this you can add the rrdtool as meta-server to I</etc/inetd.conf>
+for example:
+  
+ rrdsrv stream tcp nowait root /opt/rrd/bin/rrdtool rrdtool - /var/rrd
+
+Don't forget to create the database directory /var/rrd and reinitialize
+your inetd.
+If all was correct, you can access the server with perl sockets, tools
+like netcat or a quickhack test 'telnet localhost rrdsrv'.
+
 
 
 =head1 SEE ALSO
 
-rrdcreate, rrdupdate, rrdgraph, rrddump, rrdfetch, rrdtune, rrdlast
+rrdcreate, rrdupdate, rrdgraph, rrddump, rrdfetch, rrdtune, rrdlast, rrdxport
 
 =head1 BUGS