RRDtool (Acronym for Round-Robin Database Tool)

From Bauman National Library
This page was last modified on 19 June 2016, at 21:49.
</td></tr>
RRDtool
fraimed
Developer(s) Tobias Oetiker
Stable release
1.5.3 / May 1, 2015 (2015-05-01)
Repository {{#property:P1324}}
Development status Active
Written in C,Perl
Operating system Windows,Linux,OS X
Available in English
Website oss.oetiker.ch/rrdtool//

Definition

RRDtool (acronym for round-robin database tool) aims to handle time series data like network bandwidth, temperatures, CPU load, etc. The data are stored in a circular buffer based database, thus the system storage footprint remains constant over time. Note that this is distinct from the computer science concept of round-robin scheduling

RRD Tools

  • rrdtool - utility for working with ring database
  • rrdcached - the daemon to cache data
  • librrd - set of libraries
  • rrdbuild - tools for building software
  • rrdcgi - tools for creating web pages with graphics based on templates
  • rrdcreate - the program for creation of new databases
  • rrddump - The proceeding utility dump information in XML format
  • rrdfetch - utility to obtain information from the annular database
  • rrdfirst - the utility that returns the first set of data, so-called [2] RRA (English round robin archive.)
  • rrdflushcached - Reset cache for a specific database
  • rrdgraph - a set of tools for graphic functions
  • rrdgraph_data - preconditioning function data rrdgraph
  • rrdgraph_examples - examples of rrdgraph
  • rrdgraph_graph - CLI (. English Command Line Interface) command-line interface for rrdgraph
  • rrdgraph_libdbi - sampling information through libdbi for subsequent visualization
  • rrdgraph_rpn - stack processing tool to RPN RPN format (English Reverse Polish Notation.)
  • rrdinfo - displays information about a specific database
  • rrdlast - the utility that returns the last set of data, the so-called RRA (English round robin archive.)
  • rrdlastupdate - returns the most relevant information for now
  • rrdresize - changes the size of the RRA (English round robin archive.) And creates a new file type .rrd
  • rrdrestore - restore data from a previously created dump in XML format
  • rrdtune - utility to configure the basic RRD
  • rrdupdate - the introduction of a new set of data into the database
  • rrdxport - exports data (in XML format) of one or more bases

Examples

A simple HTML page with a single schedule:

 #!/usr/local/bin/rrdcgi
     <html>
     <head><title>RRDCGI Demo</title></head>
     <body>
     <h1>RRDCGI Example Page</h1>
     <p>
     <RRD::GRAPH demo.png --lazy --title="Temperatures"
          DEF:cel=demo.rrd:exhaust:AVERAGE
          LINE2:cel#00a000:"D. Celsius">
     </p>
     </body>
     </html>

Schedule from RRD database selection form as a data source:

#!/usr/local/bin/rrdcgi
 <html>
 <head><title>RRDCGI Demo</title></head>
 <body>
 <h1>RRDCGI Example Page for <RRD::CV RRD_NAME></h1>
 <h2>Selection</h2>
 <form><input name="RRD_NAME" type="radio" value="roomA"> Room A,
       <input name="RRD_NAME" type="radio" value="roomB"> Room B.
       <input type="submit"></form>
 <h2>Graph</h2>
 <p>
 <RRD::GRAPH <RRD::CV::PATH RRD_NAME>.png --lazy
          --title "Temperatures for "<RRD::CV::QUOTE RRD_NAME>
          DEF:cel=<RRD::CV::PATH RRD_NAME>.rrd:exhaust:AVERAGE
          LINE2:cel#00a000:"D. Celsius">
 </p>
 </body>
 </html>

RRD Server

If you want to run RRDtool as a server application, you must select TCP / IP port for it. To this end, Unix-like operating systems, you need to register in the service description /etc/services:

     rrdsrv 13900/tcp RRD server

You can use any port is not busy. Customers should refer to the server using the selected port. Once you have selected the port, it is possible to provide automatic start RRD server at startup prescribing the /etc/inetd.conf (or equivalent for your operating system):

     rrdsrv stream tcp nowait root /opt/rrd/bin/rrdtool rrdtool - /var/rrd

Do not forget to create the directory to store the database file /var/rrd and restart the inetd (or just reboot). If you did everything correctly, you'll be able to access the server via sockets in Perl, for example by using netcat . Quickly check server operation by running the command:

      telnet localhost rrdsrv

Applications that use RRDtool

References

Notes

Cite error: Invalid <references> tag; parameter "group" is allowed only.

Use <references />, or <references group="..." />