RRDtool
Encyclopedia

RRDtool aims to handle time-series
Time series
In statistics, signal processing, econometrics and mathematical finance, a time series is a sequence of data points, measured typically at successive times spaced at uniform time intervals. Examples of time series are the daily closing value of the Dow Jones index or the annual flow volume of the...

 data like network
Computer network
A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....

 bandwidth
Bandwidth (computing)
In computer networking and computer science, bandwidth, network bandwidth, data bandwidth, or digital bandwidth is a measure of available or consumed data communication resources expressed in bits/second or multiples of it .Note that in textbooks on wireless communications, modem data transmission,...

, temperature
Temperature
Temperature is a physical property of matter that quantitatively expresses the common notions of hot and cold. Objects of low temperature are cold, while various degrees of higher temperatures are referred to as warm or hot...

s, CPU
Central processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...

 load, etc. The data are stored in a round-robin
Round-robin
The term round-robin was originally used to describe a document signed by multiple parties in a circle to make it more difficult to determine the order in which it was signed, thus preventing a ringleader from being identified...

 database
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...

 (circular buffer
Circular buffer
A circular buffer, cyclic buffer or ring buffer is a data structure that uses a single, fixed-size buffer as if it were connected end-to-end.This structure lends itself easily to buffering data streams.-Uses:...

), thus the system storage footprint remains constant over time.

It also includes tools to extract RRD data in a graphical format.

Tobi Oetiker wrote RRDtool as a solution to store and graph the time series data points of his MRTG
Multi Router Traffic Grapher
The Multi Router Traffic Grapher, or just simply MRTG, is free software for monitoring and measuring the traffic load on network links. It allows the user to see traffic load on a network over time in graphical form....

 and licenses it as free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 under the terms of the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

 (GPL).

Bindings exist for Perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...

, Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

, Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...

, Tcl
Tcl
Tcl is a scripting language created by John Ousterhout. Originally "born out of frustration", according to the author, with programmers devising their own languages intended to be embedded into applications, Tcl gained acceptance on its own...

, PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

 and Lua. Two independent full Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 implementations exist : rrd4j
Rrd4j
RRD4J is a high performance data logging and graphing system for time series data, implementing RRDTool's functionality in Java. It follows much of the same logic and uses the same data sources, archive types and definitions as RRDTool does....

 and jrobin.

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
Average
In mathematics, an average, or central tendency of a data set is a measure of the "middle" value of the data set. Average is one form of central tendency. Not all central tendencies should be considered definitions of average....

, minimum, maximum.

After the data have 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) * steps

After this time the archive will "wrap around": the next insertion will overwrite the oldest entry. This behavior is sometimes referred to as "round-robin" and is the reason for the program's name.

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

Colour Meaning
Red Release no longer supported
Green Release still supported
Blue Future release


RRDTool is sponsored since 1.2, each release comes with a list of sponsors.

The following table contains the release history of RRDtool, showing its major releases.
Version number Date Links Notable changes
1.0 July 16, 1999 Full release notes, Announce First release. Basically MRTG "done right".
1.1 April 25, 2005 Full release notes, Announce libart; output EPS, PDF & SVG; VDEF; trends; percentiles; updatev; Holt-Winters Forecasting; COMPUTE; .rrd format change.
1.3 June 11, 2008 Full release notes, Announce Safer & faster file access; cairo/pango; anti-aliasing; TEXTALIGN; dashed lines; new HWPREDICT; libxml; i18n; XML dump;
1.4 October 27, 2009 Full release notes, Announce Caching daemon; VDEF PERCENTNAN; CDEF PREDICT & PREDICTSIGMA; libDBI; graph legends positioning; Lua bindings; 3D border width; and more ...

Other tools that use RRDtool as a DBMS and/or graphing subsystem

  • BackupPC
    BackupPC
    BackupPC is a free Disk-to-disk backup software suite with a web-based frontend. The cross-platform server will run on any Linux, Solaris, or UNIX based server. No client is necessary, as the server is itself a client for several protocols that are handled by other services native to the client OS...

  • Cacti
  • Cherokee
    Cherokee (Webserver)
    Cherokee is an open-source Cross-platform Web server that runs on Linux, BSD variants, Solaris, Mac OS X, and Microsoft Windows. It is a lightweight, high-performance Web Server/reverse proxy licensed under the GNU General Public License. Its goal is to be fast and fully functional yet still light...

  • collectd
    Collectd
    collectd is a UNIX-daemon which collects, transfers and stores performance data of computers and network equipment. The acquired data is meant to help system administrators maintain an overview over available resources in order to detect existing or looming bottlenecks.The first version of the...

  • Ganglia
    Ganglia (software)
    Ganglia is a scalable distributed system monitor tool for high-performance computing systems such as clusters and grids. It allows the user to remotely view live or historical statistics for all machines that are being monitored.-Ganglia:It is based on a hierarchical design targeted at...

  • Iptotal
  • Lighttpd
    Lighttpd
    lighttpd is an open-source web server more optimized for speed-critical environments than common products while remaining standards-compliant, secure and flexible...

  • Monitorix
    Monitorix
    Monitorix is a network/system monitoring tool that collects periodically system data and uses the web interface to show the information in form of graphs...

  • MRTG
  • Munin
    Munin (Network Monitoring Application)
    Munin is a network/system monitoring application that presents output in graphs through a web interface. Its emphasis is on plug and play capabilities. About 500 monitoring plugins are currently available. Using Munin you can monitor the performance of your computers, networks, SANs, and...

  • Nagios
    Nagios
    Nagios is a popular open source computer system and network monitoring software application. It watches hosts and services, alerting users when things go wrong and again when they get better....

  • Nmon
    Nmon
    nmon is a popular system monitor tool for the AIX and Linux operating systems.- Description :The original nmon was a freely downloadable tool for AIX 4.3 from the AIX wiki. It was also rewritten for the Linux operating system running on IA-32, x86-64, RS/6000 and Power processor and Mainframe and...

  • ntop
    Ntop
    ntop is a network probe that shows network usage in a way similar to what top does for processes. In interactive mode, it displays the network status on the user's terminal. In Web mode, it acts as a web server, creating a HTML dump of the network status...

  • Observium
    Observium
    Observium is a PHP/MySQL-based Network Observation and Monitoring System which collects data from devices using SNMP and presents it via a web interface. It makes heavy use of the RRDtool package. Observium has a number of simple core design goals driving its development: minimum interaction,...

  • OpenNMS
    OpenNMS
    OpenNMS is an enterprise grade network monitoring and network management platform developed under the free software or open source model. It consists of a community supported, free software project as well as a corporation, The OpenNMS Group, offering commercial services, training and support.The...

  • Zenoss
    Zenoss
    Zenoss is an open source application, server and network management platform based on the Zope application server. Released under the GNU General Public License version 2, Zenoss Core provides a web interface that allows system administrators to monitor availability, inventory/configuration,...

  • N2rrd
    N2rrd
    N2RRD is a Nagios add-on tool, which stores performance data generated by Nagios plugins into a Round-Robin-Database . The package also includes the display tool rrd2graph to view data stored in an RRD database.Optionally data stored by N2RRD can also be viewed by any RRD database graph frontend e.g...

  • ServersCheck
    ServersCheck
    ServersCheck is a Belgian based and privately owned technology company founded in 2003.It is most known in the Network Administrator community for its software program monitoring the availability and performance of servers and other networked devices...


External links


  • RRD Editor
    RRD Editor
    RRD Editor is a GUI based application that provides access to archived RRDtoolRRDtool is a data logging and graphing database by Swiss software developer Tobi Oetiker. data.-Features:...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK