
RRDtool (''round-robin database tool'') aims to handle
time series
In mathematics, a time series is a series of data points indexed (or listed or graphed) in time order. Most commonly, a time series is a sequence taken at successive equally spaced points in time. Thus it is a sequence of discrete-time data. E ...
data such as
network bandwidth,
temperature
Temperature is a physical quantity that expresses quantitatively the perceptions of hotness and coldness. Temperature is measured with a thermometer.
Thermometers are calibrated in various temperature scales that historically have relied on ...
s or
CPU
A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
load. The data is stored in a
circular buffer based
database
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases spa ...
, thus the system storage footprint remains constant over time.
It also includes tools to extract round-robin data in a graphical format, for which it was originally intended.
Bindings exist for several programming languages, e.g.
Perl
Perl is a family of two High-level programming language, high-level, General-purpose programming language, general-purpose, Interpreter (computing), interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it ...
,
Python,
Ruby
A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum (aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapp ...
,
Tcl,
PHP
PHP is a General-purpose programming language, general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementati ...
and
Lua
Lua or LUA may refer to:
Science and technology
* Lua (programming language)
* Latvia University of Agriculture
* Last universal ancestor, in evolution
Ethnicity and language
* Lua people, of Laos
* Lawa people, of Thailand sometimes referred t ...
. There is an independent full
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
implementation called rrd4j.
General data storage
RRDtool assumes time-variable data in intervals of a certain length. This interval, usually named step, is specified upon creation of an RRD file and cannot be changed afterwards. Because data may not always be available at just the right time, RRDtool will automatically interpolate any submitted data to fit its internal time-steps.
The value for a specific step, that has been interpolated, is named a primary data point (PDP). Multiple PDPs may be consolidated according to a consolidation function (CF) to form a consolidated data point (CDP). Typical consolidation functions are
average
In ordinary language, an average is a single number taken as representative of a list of numbers, usually the sum of the numbers divided by how many numbers are in the list (the arithmetic mean). For example, the average of the numbers 2, 3, 4, 7, ...
, minimum, maximum.
After the data has been consolidated, the resulting CDP is stored in a round-robin archive (RRA). A round-robin archive stores a fixed number of CDPs and specifies how many PDPs should be consolidated into one CDP and which CF to use. The total time covered by an RRA can be calculated as follows:
: time covered = (#CDPs stored) × (#PDPs per CDP) × (step time length)
After this time the archive will "wrap around": the next insertion will overwrite the oldest entry. This behavior in this context is referred to as "round-robin" and is the reason for the program's name. However this is different from the common computer science definition, which is a method of distributing resources among multiple consumers or processes.
To cover several timespans and/or use several consolidation functions, an RRD file may contain multiple RRAs. The data retrieval function of RRDtool automatically selects the archive with the highest resolution that still covers the requested timespan. This mechanism is also used by RRDtool's graphing subsystem.
Release history
The following table contains the release history of RRDtool, showing its major releases.
Other tools that use RRDtool as a DBMS and/or graphing subsystem
*
BackupPC
*
Cacti
A cactus (, or less commonly, cactus) is a member of the plant family Cactaceae, a family comprising about 127 genera with some 1750 known species of the order Caryophyllales. The word ''cactus'' derives, through Latin, from the Ancient Gree ...
*
Cherokee
The Cherokee (; chr, ᎠᏂᏴᏫᏯᎢ, translit=Aniyvwiyaʔi or Anigiduwagi, or chr, ᏣᎳᎩ, links=no, translit=Tsalagi) are one of the indigenous peoples of the Southeastern Woodlands of the United States. Prior to the 18th century, th ...
*
collectd
* Cricket
*
Ganglia
A ganglion is a group of neuron cell bodies in the peripheral nervous system. In the somatic nervous system this includes dorsal root ganglia and trigeminal ganglia among a few others. In the autonomic nervous system there are both sympath ...
– system monitor
clusters and
grids
AIDS is caused by a human immunodeficiency virus (HIV), which originated in non-human primates
in Central and West Africa. While various sub-groups of the virus acquired human infectivity at different times, the present pandemic had its origins i ...
*
lighttpd
*
Lpar2rrd
*
Monitorix
*
MRTG
*
Munin
*
Nagios
Nagios Core , formerly known as Nagios, is a free and open-source computer-software application that monitors systems, networks and infrastructure. Nagios offers monitoring and alerting services for servers, switches, applications and servic ...
*
Nmon
* NMIS
*
ntop
*
OpenNMS
*
pfSense
*
Plesk
*
Xymon
*
Zenoss Core
The company Zenoss, Inc. was founded in 2005 and is headquartered in Austin, Texas. The company develops hybrid IT monitoring and analytics software.
Zenoss Community Edition was a free and open-source application, server, and network management ...
See also
*
RRD Editor RRD Editor{{cite web, url=https://sourceforge.net/projects/rrdeditor/, website=SourceForge, title=RRD Editor download, access-date=2019-08-02 is a GUI-based application that provides access to archived RRDtool data.
Features
The visual editing feat ...
*
Time series database
References
External links
*
{{DEFAULTSORT:Rrdtool
Internet Protocol based network software
Free network management software
Free software programmed in C
Free database management systems
1999 software
Time series software