adding new datasource to an existing RRD

Anuj picture Anuj · Nov 20, 2012 · Viewed 10.7k times · Source

I have few 100s of rrds and i want to add 5 extra datasource to all of those rrds.

  1. Is it advisable to do so
  2. Whats the best way and the fastest way to do it

-- Soln --

David OBrien replied in the mailing list

after searching the archives ( which you should have done first ) and googling I found several people using this...

with perl. Install RRD:Simple

#!/usr/local/bin/perl 

use strict; 
use RRD::Simple (); 

my $rrd = RRD::Simple->new(); 
my $rrdfile=$ARGV[0]; 
my $source=$ARGV[1]; 
my $type=$ARGV[2]; 
chomp($type); 
$rrd->add_source($rrdfile, $source => $type); 

usage:

./addSource.pl file.rrd ds GAUGE 

or whatever the type is..

Enjoy.

Answer

popozhu picture popozhu · Jan 27, 2013

use rrddump and rrdrestore.

just so:

rrdtool dump my.rrd > file.xml

./rrdAddDS.pl file.xml newDsName > new_file.xml

rrdtool restore new_file.xml my_new.rrd

you can refer from here: http://osdir.com/ml/db.rrdtool.user/2003-08/msg00115.html

and here: http://www.docum.org/drupal/sites/default/files/add_ds_to_rrd.pl_.txt