=item B<RRDp::cmd> I<rrdtool commandline>
-pass commands on to RRDtool. check the RRDtool documentation for
+pass commands on to RRDtool. Check the RRDtool documentation for
more info on the RRDtool commands.
B<Note>: Due to design limitations, B<RRDp::cmd> does not support the
is the total time RRDtool has been running.
The difference between user + system and real is the time spent
-waiting for things like the hard disk and new input from the perl
+waiting for things like the hard disk and new input from the Perl
script.
=item B<$RRDp::error_mode> and B<$RRDp::error>
2) A,10,input,IF eval is A,10,input,IF
read "if A then 10 else input". Now replace A with it's verbose
-description again and--voila!--you have a easily readable description
+description again and--voila!--you have an easily readable description
of the expression:
if input > 10 then 10 else input
This value is also called Primary Data Point B<(PDP)>. In our example
mentioned above, a new PDP is generated every 300 seconds.
-Note, that if you do NOT supply new datapoints exactly every 300 seconds,
+Note, that if you do NOT supply new data points exactly every 300 seconds,
this is not a problem, RRDtool will interpolate the data accordingly.
B<DST> (Data Source Type) defines the type of the DS. It can be
the previous value is greater than 0). Traffic counters on a router
are an ideal candidate for using COUNTER as DST. DERIVE is the same as
COUNTER, but it allows negative values as well. If you want to see the
-rate of I<change> in free diskspace on your server, then you might
+rate of I<change> in free disk space on your server, then you might
want to use the DERIVE data type. ABSOLUTE also saves the rate of
change, but it assumes that the previous value is set to 0. The
difference between the current and the previous value is always equal
=head1 OVERVIEW
-If you downloaded the source of rrdtool you have to compile it. This
+If you downloaded the source of RRDtool you have to compile it. This
document will give some information on how this is done.
RRDtool relies on services of third part libraries. Some of these libraries
If your OS lets you install additional packages from a software repository,
you may get away with installing the missing packages. When the packages are
installed, run configure again and try to compile again. Below you find some
-hints on getting your OS ready for the rrdtool compilation.
+hints on getting your OS ready for compiling RRDtool.
-Additions to this list are welcome. In general rrdtool should work with the
+Additions to this list are welcome. In general RRDtool should work with the
latest versions of the libraries. The versions listed here are just what was
current when I tested this.
perl -i~ -p -e 's/(Requires.*?)\s*xrender.*/$1/' /usr/lib/pkgconfig/cairo.pc
-Make sure rrdtool finds your new compiler
+Make sure the RRDtool build system finds your new compiler
export PATH=/opt/SunStudioExpress/bin
=head2 Gentoo
-In Gentoo installing rrdtool is really simple you just need to B<emerge
+In Gentoo installing RRDtool is really simple you just need to B<emerge
rrdtool>. All dependencies will be handled automatically by the portage
system. The only thing you should care about are USE flags, which allow you
-fine tune features rrdtool will be built with. Currently the following USE
+fine tune features RRDtool will be built with. Currently the following USE
flags are available:
doc - install .html and .txt documentation
If you are working with AIX, you may find the B<--disable-shared> option
will cause things to break for you. In that case you may have to install the
-shared libraries into the rrdtool PREFIX and work with B<--disable-static>
+shared libraries into the RRDtool PREFIX and work with B<--disable-static>
instead.
-Another hint to get rrdtool working on AIX is to use the IBM XL C Compiler:
+Another hint to get RRDtool working on AIX is to use the IBM XL C Compiler:
export CC=/usr/vac/bin/cc
export PERLCC=$CC
And finally try building again. We disable the python and tcl bindings
because it seems that a fair number of people have ill configured python and
-tcl setups that would prevent rrdtool from building if they are included in
+tcl setups that would prevent RRDtool from building if they are included in
their current state.
cd $BUILD_DIR/rrdtool-1.3.2
The daemon was written with big setups in mind. Those setups usually run into
IOE<nbsp>related problems sooner or later for reasons that are beyond the scope
-of this document. Check the wiki at the RRDTool homepage for details. Also
+of this document. Check the wiki at the RRDtool homepage for details. Also
check L<SECURITY CONSIDERATIONS> below before using this daemon! A detailed
description of how the daemon operates can be found in the L<HOW IT WORKS>
section below.
more than B<half> 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"
-time to warrent for a known PDP.
+time to warrant a known PDP.
The "heartbeat" can be short (unusual) or long (typical) relative to
the "step" interval between PDPs. A short "heartbeat" means you
=item Mail Messages
Assume you have a method to count the number of messages transported by
-your mailserver in a certain amount of time, giving you data like '5
+your mail server in a certain amount of time, giving you data like '5
messages in the last 65 seconds'. If you look at the count of 5 like an
B<ABSOLUTE> data type you can simply update the RRD with the number 5 and the
end time of your monitoring period. RRDtool will then record the number of
=item B<--header>|B<-h> {none,xsd,dtd}
-By default rrdtool will add a dtd header to the xml file. Here
+By default RRDtool will add a dtd header to the xml file. Here
you can customize this to and xsd header or no header at all.
A shortcut for S<--header=none>.
-If you want to restore the dump with rrdtool 1.2 you should use the
+If you want to restore the dump with RRDtool 1.2 you should use the
S<--no-header> option since 1.2 can not deal with xml headers.
=item B<--daemon> I<address>
=head1 NAME
-rrdflush - Flush the values for a spcific RRD file from memory.
+rrdflushcached - Flush the values for a spcific RRD file from memory.
=head1 SYNOPSIS
=item B<-x>|B<--x-grid> I<x-axis grid and label> (default autoconfigure)
The x-axis label is quite complex to configure. So if you don't have
-very special needs, you can rely on the autoconfiguration to get this
+very special needs, you can rely on the auto configuration to get this
right.
If you want no x-grid at all, use the magic setting B<none>.
=item B<-y>|B<--y-grid> I<grid step>:I<label factor> (default autoconfigure)
Makes vertical grid lines appear at I<grid step> interval. Every
-I<label factor> gridstep, a major grid line is printed, along with
+I<label factor> grid step, a major grid line is printed, along with
label showing the value of the grid line.
If you want no y-grid at all set specify the magic word B<none>.
=head1 NAME
-rrdgraph - Round Robin Database tool grapher functions
+rrdgraph - Round Robin Database tool graphing functions
=head1 SYNOPSIS
it is best to collect them now using the
B<L<variable definition|rrdgraph_data/VDEF>> statement.
Currently this makes no difference, but in a future version
-of rrdtool you may want to collect these values before consolidation.
+of RRDtool you may want to collect these values before consolidation.
The data fetched from the B<RRA> is then B<consolidated> so that
-there is exactly one datapoint per pixel in the graph. If you do
+there is exactly one data point per pixel in the graph. If you do
not take care yourself, B<RRDtool> will expand the range slightly
if necessary. Note, in that case the first and/or last pixel may very
well become unknown!
L<AT-STYLE TIME SPECIFICATION|rrdfetch> and L<rrdgraph_examples>.
By default, B<rrdtool graph> calculates the width of one pixel in
the time domain and tries to get data from an B<RRA> with that
-resolution. With the B<step> option you can alter this behaviour.
+resolution. With the B<step> option you can alter this behavior.
If you want B<rrdtool graph> to get data at a one-hour resolution
from the B<RRD>, set B<step> to 3'600. Note: a step smaller than
one pixel will silently be ignored.
[B<-r>|B<--rigid>]
By default the graph will be autoscaling so that it will adjust the
-y-axis to the range of the data. You can change this behaviour by
+y-axis to the range of the data. You can change this behavior by
explicitly setting the limits. The displayed y-axis will then range at
least from B<lower-limit> to B<upper-limit>. Autoscaling will still
permit those boundaries to be stretched unless the B<rigid> option is
[B<-N>|B<--no-gridfit>]
-In order to avoid anti-aliasing blurring effects rrdtool snaps
+In order to avoid anti-aliasing blurring effects RRDtool snaps
points to device resolution pixels, this results in a crisper
appearance. If this is not to your liking, you can use this switch
-to turn this behaviour off.
+to turn this behavior off.
-Gridfitting is turned off for PDF, EPS, SVG output by default.
+Grid-fitting is turned off for PDF, EPS, SVG output by default.
=head2 X-Axis
[B<-x>|B<--x-grid> B<none>]
The x-axis label is quite complex to configure. If you don't have
-very special needs it is probably best to rely on the autoconfiguration
+very special needs it is probably best to rely on the auto configuration
to get this right. You can specify the string C<none> to suppress the grid
and labels altogether.
of 0 to prevent any scaling of the y-axis values.
This option is very effective at confusing the heck out of the default
-rrdtool autoscaler and grid painter. If rrdtool detects that it is not
+RRDtool autoscaling function and grid painter. If RRDtool detects that it is not
successful in labeling the graph under the given circumstances, it will switch
to the more robust B<--alt-y-grid> mode.
[B<-L>|B<--units-length> I<value>]
-How many digits should rrdtool assume the y-axis labels to be? You
+How many digits should RRDtool assume the y-axis labels to be? You
may have to use this option to make enough space once you start
fiddling with the y-axis labeling.
[B<--right-axis-format> I<format-string>]
-By default the format of the axis lables gets determined automatically. If
-you want todo this your self, use this option with the same %lf arguments
+By default the format of the axis labels gets determined automatically. If
+you want to do this your self, use this option with the same %lf arguments
you know from the PRING and GPRINT commands.
=head2 Legend
Force the generation of HRULE and VRULE legends even if those HRULE or
VRULE will not be drawn because out of graph boundaries (mimics
-behaviour of pre 1.0.42 versions).
+behavior of pre 1.0.42 versions).
[B<--legend-position>=(north|south|west|east)]
Only generate the graph if the current graph is out of date or not existent.
Note, that all the calculations will happen regardless so that the output of
-PRINT and graphv will be complete regardless. Note that the behaviour of
+PRINT and graphv will be complete regardless. Note that the behavior of
lazy in this regard has seen several changes over time. The only thing you
-can realy rely on before rrdtool 1.3.7 is that lazy will not generate the
+can really rely on before RRDtool 1.3.7 is that lazy will not generate the
graph when it is already there and up to date, and also that it will output
the size of the graph.
There are 3 font render modes:
-B<normal>: Full Hinting and Antialiasing (default)
+B<normal>: Full Hinting and Anti-aliasing (default)
-B<light>: Slight Hinting and Antialiasing
+B<light>: Slight Hinting and Anti-aliasing
-B<mono>: Full Hinting and NO Antialiasing
+B<mono>: Full Hinting and NO Anti-aliasing
[B<-B>|B<--font-smoothing-threshold> I<size>]
[B<-P>|B<--pango-markup>]
-All text in rrdtool is rendered using Pango. With the B<--pango-markup> option, all
+All text in RRDtool is rendered using Pango. With the B<--pango-markup> option, all
text will be processed by pango markup. This allows to embed some simple html
like markup tags using
There are 2 render modes:
-B<normal>: Graphs are fully Antialiased (default)
+B<normal>: Graphs are fully Anti-aliased (default)
-B<mono>: No Antialiasing
+B<mono>: No Anti-aliasing
[B<-E>|B<--slope-mode>]
=head2 graphv
-Calling rrdtool with the graphv option will return information in the
-rrdtool info format. On the command line this means that all output will be
+Calling RRDtool with the graphv option will return information in the
+RRDtool info format. On the command line this means that all output will be
in key=value format. When used from the Perl and Ruby bindings a hash
pointer will be returned from the call.
When picking variable names, make sure you do not choose a name that is
already taken by an RPN operator. A safe bet it to use lowercase or
-mixedcase names for variables since operators will always be in uppercase.
+mixed case names for variables since operators will always be in uppercase.
=head1 DEF
start and end times, such as C<--start end-8days8hours>).
If consolidation needs to be done, the B<CF> of the B<RRA> specified in the
-B<DEF> itself will be used to reduce the data density. This behaviour can
+B<DEF> itself will be used to reduce the data density. This behavior can
be changed using C<:reduce=I<E<lt>B<CF>E<gt>>>. This optional parameter
specifies the B<CF> to use during the data reduction phase.
If you want to apply 'complex' operations to the result of a VDEF you have
to use a CDEF again since VDEFs only look like RPN expressions, they aren't
-realy.
+really.
=head1 SEE ALSO
=back
If you PRINT a VDEF value, you can also print the time associated with it by appending the string
-B<:strftime> to the format. Note that rrdtool uses the strftime function of your OSs C library. This means that
+B<:strftime> to the format. Note that RRDtool uses the strftime function of your OSs C library. This means that
the conversion specifier may vary. Check the manual page if you are uncertain. The following is a list of
conversion specifiers usually supported across the board.
=item B<%S>
-The seconds since the epoch (1.1.1970) (libc dependant non standard!)
+The seconds since the epoch (1.1.1970) (libc dependent non standard!)
=item B<%U>
example showing how to use centered formatting.
B<\n> is a valid alias for B<\l> since incomplete parsing in earlier
-versions of rrdtool lead to this behavior and a number of people has been using it.
+versions of RRDtool lead to this behavior and a number of people has been using it.
Normally there are two space characters inserted between every two items
printed into the graph. The space following a string can be suppressed by
=item B<strikethrough_color>
-The color of strikethrough lines; an RGB color specification such as '#00FF00' or a color name such as 'red'
+The color of crossed out lines; an RGB color specification such as '#00FF00' or a color name such as 'red'
=item B<fallback>
=item B<s>
-Strikethrough
+Strike through
=item B<sub>
* Naturally you can also use any other kind of driver that libdbi supports - e.g postgres, ...
-* From the way the datasource is joined, it should also be possible to do joins over different tables
+* From the way the data source is joined, it should also be possible to do joins over different tables
(separate tables with "," in table and add in the WHERE Clauses the table equal joins.
This has not been tested!!!)
-* It should also be relatively simple to add to the database using the same datasource string.
+* It should also be relatively simple to add to the database using the same data source string.
This has not been implemented...
* The aggregation functions are ignored and several data columns are used instead
TICK:exceeds#aa000080:1
Note: Experience has shown that a factor between 3 and 5 to scale sigma is a good
-discriminator to detect abnormal behaviour. This obviously depends also on the type
+discriminator to detect abnormal behavior. This obviously depends also on the type
of data and how "noisy" the data series is.
This prediction can only be used for short term extrapolations - say a few days into the future-
=item TOTAL
Returns the rate from each defined time slot multiplied with the
-step size. This can, for instance, return total bytes transfered
+step size. This can, for instance, return total bytes transferred
when you have logged bytes per second. The time component returns
the number of seconds.
'RRA:AVERAGE:0.5:6:10' )
If you use the B<site-python-install> make target you can drop to first sys.path.append
-line since the rrdtool module will be available everywhere.
+line since the RRDtool module will be available everywhere.
-If rrdtool runs into trouble, it will throw an exception which you might want to catch.
+If RRDtool runs into trouble, it will throw an exception which you might want to catch.
=head1 SEE ALSO
puts
If you use the B<--ruby-site-install> configure option you can drop the $:
-line since the rrdtool module will be found automatically.
+line since the RRDtool module will be found automatically.
-If rrdtool runs into trouble, it will throw an exception which you might
+If RRDtool runs into trouble, it will throw an exception which you might
want to catch.
=head1 SEE ALSO
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 B<RRDtool> lets you update the logfile at any time you
+to. Therefore B<RRDtool> lets you update the log file at any time you
want. It will automatically interpolate the value of the data-source
(B<DS>) at the latest official time-slot (interval) and write this
interpolated value to the log. The original value you have supplied is
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
-L<rrdcached>, a caching daemon for RRDTool which may help you lessen the
+L<rrdcached>, a caching daemon for RRDtool which may help you lessen the
stress on your disks.
=head1 SEE ALSO
Most likely you will start to use RRDtool to store and process data
collected via SNMP. The data will most likely be bytes (or bits)
-transfered from and to a network or a computer. But it can also be
+transferred from and to a network or a computer. But it can also be
used to display tidal waves, solar radiation, power consumption,
number of visitors at an exhibition, noise levels near an airport,
temperature on your favorite holiday location, temperature in the
Assume we have a device that transfers bytes to and from the Internet.
This device keeps a counter that starts at zero when it is turned on,
-increasing with every byte that is transfered. This counter will probably have
+increasing with every byte that is transferred. This counter will probably have
a maximum value. If this value is reached and an extra byte is counted,
the counter starts over at zero. This is the same as many counters
in the world such as the mileage counter in a car.
counting from 0 to 4294967295. We will use these values in the examples.
The device, when asked, returns the current value of the counter. We
know the time that has passes since we last asked so we now know how
-many bytes have been transfered ***on average*** per second. This is
+many bytes have been transferred ***on average*** per second. This is
not very hard to calculate. First in words, then in calculations:
=over 3
other types of values like temperature.
Many people interested in RRDtool will use the counter that keeps track
-of octets (bytes) transfered by a network device. So let's do just
+of octets (bytes) transferred by a network device. So let's do just
that next. We will start with a description of how to collect data.
Some people will make a remark that there are tools which can do this data