=head1 DESCRIPTION
-RRDtool is written by Tobias Oetiker <oetiker@ee.ethz.ch> with
+RRDtool is written by Tobias Oetiker <tobi@oetiker.ch> with
contributions from many people all around the world. This document is
written by Alex van den Bogaerdt <alex@ergens.op.het.net> to help you
understand what RRDtool is and what it can do for you.
=head2 What data can be put into an RRD?
-XXX time series ??? XXX You name it, it will probably fit. You should
-be able to measure some value at several points in time and provide
-this information to RRDtool. If you can do this, RRDtool will be able
-to store it. The values must be numerical but don't have to be
-integers, as is the case with MRTG (the next section will give more
-details on this more specialized application).
+You name it, it will probably fit as long as it is some sort of time-series
+data. This means you have to be able to measure some value at several points in time and
+provide this information to RRDtool. If you can do this, RRDtool will be
+able to store it. The values must be numerical but don't have to be
+integers, as is the case with MRTG (the next section will give more details
+on this more specialized application).
Many examples below talk about SNMP which is an acronym for Simple Network
Management Protocol. "Simple" refers to the protocol -- it does not
started as a tiny little script for graphing the use of a university's
connection to the Internet. MRTG was later (ab-)used as a tool for
graphing other data sources including temperature, speed, voltage,
-number of printouts and the like.
+number of printouts and the like.
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)
came with RRDtool for the location and usage of the list.
I suggest you take a moment to subscribe to the mailing list right now
-by sending an email to E<lt>rrd-users-request@list.ee.ethz.chE<gt> with a
+by sending an email to E<lt>rrd-users-request@lists.oetiker.chE<gt> with a
subject of "subscribe". If you ever want to leave this list, just write
an email to the same address but now with a subject of "unsubscribe".
(default). In the same database two round robin archives (RRAs) are
kept, one averages the data every time it is read (e.g., there's
nothing to average) and keeps 24 samples (24 times 5 minutes is 2
-hours). The other averages 6 values (half hour) and contains 10 of
+hours). The other averages 6 values (half hour) and contains 10
such averages (e.g., 5 hours).
-=for comment
- XXX The remaining options will be discussed later on. (there aren't any
- XXX in the example above, Fritz)
-
RRDtool works with special time stamps coming from the UNIX world.
This time stamp is the number of seconds that passed since January
1st 1970 UTC. The time stamp value is translated into local time and
units of our data, it just works with dimensionless numbers.
If we had measured our distances in meters, this would have been
-(12'357'000-12'345'000)/300 = 12'000/300 = 40.
+(12'357'000-12'345'000)/300 = 12'000/300 = 40.
As most people have a better feel for numbers in this range, we'll
correct that. We could recreate our database and store the correct
Hang on! If we can multiply values with 1'000, it should also be possible
to display kilometers per hour from the same data!
-=for comment
-XXX strange format below: -*- ; Fritz
-
To change a value that is measured in meters per second:
- -*- Calculate meters per hour: value * 3'600
- -*- Calculate kilometers per hour: value / 1'000
- -*- Together this makes: value * (3'600/1'000) or value * 3.6
+
+ Calculate meters per hour: value * 3'600
+ Calculate kilometers per hour: value / 1'000
+ Together this makes: value * (3'600/1'000) or value * 3.6
In our example database we made a mistake and we need to compensate for
this by multiplying with 1'000. Applying that correction:
- -*- value * 3.6 * 1'000 == value * 3'600
+
+ value * 3.6 * 1'000 == value * 3'600
Now let's create this PNG, and add some more magic ...
- rrdtool graph speed3.png \
+ rrdtool graph speed3.png \
--start 920804400 --end 920808000 \
--vertical-label km/h \
DEF:myspeed=test.rrd:speed:AVERAGE \
Should become: 18'446'744'073'709'551'800
But really is: 184
Delta: -18'446'744'073'709'550'816
- Correction1: -18'446'744'073'709'550'816
+ Correction1: -18'446'744'073'709'550'816
+ 4'294'967'296 = -18'446'744'069'414'583'520
- Correction2: -18'446'744'069'414'583'520
+ Correction2: -18'446'744'069'414'583'520
+ 18'446'744'069'414'584'320 = 800
Before: 18'446'744'073'709'551'615 ( maximum value )
View both images together (add them to your index.html file)
and compare. Both graphs should show the same, despite the
-input being different.
+input being different.
=head1 WRAPUP