Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

rrdp(3) [centos man page]

RRDp(3) 						User Contributed Perl Documentation						   RRDp(3)

RRDp - Attach RRDtool from within a perl script via a set of pipes; SYNOPSIS
use RRDp RRDp::start path to RRDtool executable RRDp::cmd rrdtool commandline $answer = RRD::read $status = RRD::end $RRDp::user, $RRDp::sys, $RRDp::real, $RRDp::error_mode, $RRDp::error DESCRIPTION
With this module you can safely communicate with the RRDtool. After every RRDp::cmd you have to issue an RRDp::read command to get RRDtools answer to your command. The answer is returned as a pointer, in order to speed things up. If the last command did not return any data, RRDp::read will return an undefined variable. If you import the PERFORMANCE variables into your namespace, you can access RRDtool's internal performance measurements. use RRDp Load the RRDp::pipe module. RRDp::start path to RRDtool executable start RRDtool. The argument must be the path to the RRDtool executable RRDp::cmd rrdtool commandline pass commands on to RRDtool. Check the RRDtool documentation for more info on the RRDtool commands. Note: Due to design limitations, RRDp::cmd does not support the "graph -" command - use "graphv -" instead. $answer = RRDp::read read RRDtool's response to your command. Note that the $answer variable will only contain a pointer to the returned data. The reason for this is, that RRDtool can potentially return quite excessive amounts of data and we don't want to copy this around in memory. So when you want to access the contents of $answer you have to use $$answer which dereferences the variable. $status = RRDp::end terminates RRDtool and returns RRDtool's status ... $RRDp::user, $RRDp::sys, $RRDp::real these variables will contain totals of the user time, system time and real time as seen by RRDtool. User time is the time RRDtool is running, System time is the time spend in system calls and real time is the total time RRDtool has been running. The difference between user + system and real is the time spent waiting for things like the hard disk and new input from the Perl script. $RRDp::error_mode and $RRDp::error If you set the variable $RRDp::error_mode to the value 'catch' before you run RRDp::read a potential ERROR message will not cause the program to abort but will be returned in this variable. If no error occurs the variable will be empty. $RRDp::error_mode = 'catch'; RRDp::cmd qw(info file.rrd); print $RRDp::error if $RRDp::error; EXAMPLE
use RRDp; RRDp::start "/usr/local/bin/rrdtool"; RRDp::cmd qw(create demo.rrd --step 100 DS:in:GAUGE:100:U:U RRA:AVERAGE:0.5:1:10); $answer = RRDp::read; print $$answer; ($usertime,$systemtime,$realtime) = ($RRDp::user,$RRDp::sys,$RRDp::real); SEE ALSO
For more information on how to use RRDtool, check the manpages. AUTHOR
Tobias Oetiker <> perl v5.16.3 2014-06-10 RRDp(3)

Check Out this Related Man Page

MRTG-RRD(1)							       mrtg							       MRTG-RRD(1)

mrtg-rrd - 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 RRDTOOL INTEGRATION
When using mrtg with RRDtool you are replacing rateup with the RRDtool perl module To enable RRDtool support in mrtg you have to add the line LogFormat: rrdtool MRTG needs access to both the RRDtool perl module 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: rdtoolin For the location of the perl module it would be: LibAdd: /usr/local/rrdtool/lib/perl/ or LibAdd: c: rdtoolinlibperl 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 data- bases. 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 demmand. Using a cgi script. At the moment there is no official script to do this, but two contributers have created such scripts: 14all.cgi Was the first program to take over the webpage creation and graphing task. It has been developed by Rainer Bawidamann <Rainer.Baw->. You can find a copy on Rainers website: The program comes with its own documentation routers.cgi, servers.cgi and generic.cgi are other cgi frontends to mrtg running with rrdtool. Thier main difference to 14all is, that the web pages it creates are much more stylish than the ones from mrtg. These tools have been written by Steve Shipway <>. You can find a copy in The scripts comes with their own installation instructions. 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 <> 3rd Berkeley Distribution 2.9.17 MRTG-RRD(1)
Man Page