=head1 NAME

rrdtool create - Set up a new Round Robin Database

=head1 SYNOPSIS

B<rrdtool> B<create> I<filename> 
S<[B<--start>|B<-b> I<start time>]> 
S<[B<--step>|B<-s> I<step>]> 
S<[B<DS:>I<ds-name>B<:>I<DST>B<:>I<heartbeat>B<:>I<min>B<:>I<max>]>
S<[B<RRA:>I<CF>B<:>I<xff>B<:>I<steps>B<:>I<rows>]>

=head1 DESCRIPTION

The create function of the RRDtool lets you set up new
Round Robin Database (B<RRD>) files. 
The file is created at its final, full size and filled
with I<*UNKNOWN*> data.

=over 8

=item I<filename>

The name of the B<RRD> you want to create. B<RRD> files should end
with the extension F<.rrd>. However, B<rrdtool> will accept any
filename.

=item B<--start>|B<-b> I<start time> (default: now - 10s)

Specifies the time in seconds since 1970-01-01 UTC when the first
value should be added to the B<RRD>. B<rrdtool> will not accept
any data timed before or at the time specified.

See also AT-STYLE TIME SPECIFICATION section in the
I<rrdfetch> documentation for more ways to specify time.

=item B<--step>|B<-s> I<step> (default: 300 seconds)

Specifies the base interval in seconds with which data will be fed
into the B<RRD>.

=item B<DS:>I<ds-name>B<:>I<DST>B<:>I<heartbeat>B<:>I<min>B<:>I<max>

A single B<RRD> can accept input from several data sources (B<DS>).
(e.g. Incoming and Outgoing traffic on a specific communication
line). With the B<DS> configuration option you must define some basic
properties of each data source you want to use to feed the B<RRD>.

I<ds-name> is the name you will use to reference this particular data
source from an B<RRD>. A I<ds-name> must be 1 to 19 characters long in
the characters [a-zA-Z0-9_].

I<DST> defines the Data Source Type. It can be one of the following:
B<GAUGE> this is for things like temperatures or number of people in a
room. B<COUNTER> is for continuous incrementing counters like the
InOctets counter in a router. The B<COUNTER> data source assumes that
the counter never decreases, except when a counter overflows.  The update
function takes the overflow into account.  The counter is stored as a
per-second rate. B<DERIVE> will store the
the derivative of the line going from the last to the current value of the
data source. This can be useful for gauges,
for example, to measure the rate of people
entering or leaving a room. B<ABSOLUTE> is for counters which get reset upon reading.

I<heartbeat> defines the maximum number of seconds that may pass
between two updates of this data source before the value of the 
data source is assumed to be I<*UNKNOWN*>.

I<min> and I<max> are optional entries defining the expected range of
the data supplied by this data source. If I<min> and/or I<max> are
defined, any value outside the defined range will be regarded as
I<*UNKNOWN*>. If you do not know or care about min and max, set them
to U for unknown. Note that min and max always refer to the processed values
of the DS. For a traffic-B<COUNTER> type DS this would be the max and min
data-rate expected from the device.

I<If information on minimal/maximal expected values is available,
always set the min and/or max properties. This will help RRDtool in
doing a simple sanity check on the data supplied when running update.>

=item B<RRA:>I<CF>B<:>I<xff>B<:>I<steps>B<:>I<rows>

The purpose of an B<RRD> is to store data in the round robin archives
(B<RRA>). An archive consists of a number of data values from all the
defined data-sources (B<DS>) and is defined with an B<RRA> line.

When data is entered into an B<RRD>, it is first fit into time slots of
the length defined with the B<-s> option becoming a I<primary data point>.

The data is also consolidated with the consolidation function (I<CF>)
of the archive. The following consolidation functions are defined:
B<AVERAGE>, B<MIN>, B<MAX>, B<LAST>.

I<xff> The xfiles factor defines what part of a consolidation interval may
be made up from I<*UNKNOWN*> data while the consolidated value is sill
regarded as known.

I<steps> defines how many of these I<primary data points> are used to
build a I<consolidated data point> which then goes into the archive.

I<rows> defines how many generations of data values are kept in an B<RRA>.

=back

=head1 EXAMPLE

C<rrdtool create temperature.rrd --step 300 DS:temp:GAUGE:600:-273:5000
RRA:AVERAGE:0.5:1:1200 RRA:MIN:0.5:12:2400 RRA:MAX:0.5:12:2400
RRA:AVERAGE:0.5:12:2400>

This sets up an B<RRD> called F<temperature.rrd> which accepts one
temperature value every 300 seconds. If no new data is supplied for
more than 600 seconds, the temperature becomes I<*UNKNOWN*>.  The
minimum acceptable value is -273 and the maximum is 5000.

A few archives areas are also defined. The first stores the
temperatures supplied for 100 hours (1200 * 300 seconds = 100
hours). The second RRA stores the minimum temperature recorded over
every hour (12 * 300 seconds = 1 hour), for 100 days (2400 hours). The
third and the fourth RRA's do the same with the for the maximum and
average temperature, respectively.

=head1 AUTHOR

Tobias Oetiker E<lt>oetiker@ee.ethz.chE<gt>
