How to use RRDtool with MRTG

SYNOPSIS

After using MRTG for some time you may find some limitations, mostly in the areas of performance and graphing flexibility. These are exactly the areas addressed by RRDtool. To learn more about RRDtool check out its website on

 http://oss.oetiker.ch/rrdtool

RRDTOOL INTEGRATION

When using mrtg with RRDtool you are replacing rateup with the RRDtool perl module RRDs.pm. To enable RRDtool support in mrtg you have to add the line

 LogFormat: rrdtool

to your mrtg config file.

MRTG needs access to both the RRDtool perl module RRDs.pm and to the rrdtool executable.

If these two items are not installed in locations where perl can find them on its own, then you can use the following two parameters to supply the appropriate directories.

For the location of the rrdtool executable you put

 PathAdd: /usr/local/rrdtool/bin/

or

 PathAdd: c:\rrdtool\bin

For the location of the perl module it would be:

 LibAdd: /usr/local/rrdtool/lib/perl/

or

 LibAdd: c:\rrdtool\bin\lib\perl

When you have made this modification to the configuration file, several things will happen when you run mrtg again with the new config file:

1.

mrtg will take all your old .log files and convert them to .rrd format. (The .log files don't get touched in the process, so if things don't work out they are still there.)

2.

mrtg will use rrdtool to update its databases. These will have a new format called rrd which is totally different than the native log format of the classic mrtg.

3.

mrtg will not create any webpages of graphs anymore. It will only query the routers for traffic information and update its rrd databases.

The advantage of whole thing is that the mrtg will become much faster. Expect the runtime to drop to 20% of the previous value. (I would like to get some feedback on this from folks with large installations.)

Mind you, though, while the logging process of RRDtool is very fast, you are also gaining some time by neither creating graphs nor updating webpages. The idea behind this is that it is more efficient to create graphs and webpages on demand by using a cgi script.

At the moment there is no official script to do this, but two contributers have created such scripts:

One4All aka 14all.cgi

This was the first program to take over the webpage creation and graphing task. It has been developed by Rainer Bawidamann rainer.bawidamann@web.de. You can find a copy on Rainers website: http://my14all.sourceforge.net/ The program comes with its own documentation

routers2.cgi

This is another CGI frontend for mrtg running with rrdtool. The main difference between this and 14all is that the web pages it creates are much more stylish than the ones from mrtg, plus they support User Defined summary graphs and different levels of Authentication and Authorisation. This has been written by Steve Shipway (steve@steveshipway.org). You obtain a copy, and find a forum and demonstration system at http://www.steveshipway.org/software/ The program comes with its own installation instructions and install script.

mrtg-rrd

The mrtg-rrd script is a CGI/FastCGI application by Jan "Yenya" Kasprzak for displaying MRTG graphs from data in the RRDtool format. It is an intended replacement for the 14all.cgi script. It can make your monitoring system faster because MRTG does not have to generate all the PNG files with graphs every 5 minutes or so. Instead of this the graphs are generated on-demand when the user wants to see them. http://www.fi.muni.cz/~kas/mrtg-rrd/

FUTURE

Just as a side note: MRTG-3 will be based entirely on rrdtool technology. But don't wait for it ... get going now!

AUTHOR

Tobias Oetiker <tobi@oetiker.ch>

Last Update: 01/13/12 | Tobias Oetiker | OETIKER+PARTNER AG

 

NOTE: The content of this website is accessible with any browser. The graphical design though relies completely on CSS2 styles. If you see this text, this means that your browser does not support CSS2. Consider upgrading to a standard conformant browser like Mozilla Firefox or Opera but also Apple's Safari or KDE's Konqueror for example. It may also be that you are looking at a mirror page which did not copy the CSS for this page. Or if some pictures are missing, then the mirror may not have picked up the contents of either the images or the inc directory.