Skip to content

Utility script to splice an existing RRD's DS into a new RRD under a different name.

License

Notifications You must be signed in to change notification settings

jhg03a/modifyRRDs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

modifyRRDs

This is a utility script I put together as my first attempt at perl.

The primary goal was to take an existing cacti RRD DS and splice it into its own RRD under a new name. It can also provide a simplified rrdtool info, delete a given DS, or rename a given DS.

#Install# ##Perl You will need a few perl CPAN modules to get started.

  • warnings::everywhere
  • RRD::Editor
  • Date::Format
  • File::Copy

Some of these are included by default in CPAN, but I don't recall which. On redhat the process to install went something like this:

bash$> sudo perl -MCPAN -e shell
cpan[1]> install warnings::everywhere
cpan[2]> install Date::Format
cpan[3]> install RRD:Editor
cpan[4]> install File::Copy

##Cacti Before trying to run the splice command, create your destination templates and spawn a new temporary instance of those graphs. Those temporary graphs verify your new template and create the cacti backend metadata you're about to replace the underbelly of. Be sure to disable the host for which you're modifying and allow any running pollers to complete so nothing should be writing to the RRD.

There isn't any specific preparation for deleting or renaming a DS other than the host being disabled. However use these with caution as there won't be a backup or confirmation.

#Warnings# This was my first attempt at perl, so parts of it arn't eligant. I tried to catch a few error conditions that I wanted to protect myself against, but they are by no means complete. This will OVERWRITE the RRD you splice the DS into. You should review this script before running it. Verify that your RRA are setup identically between the splice source and destination or you may end up with data corruption.

#Usage# List the DS & RRA for a given RRD:

sudo perl modifyRRDs.pl lsds myfile.rrd

Delete a DS from an RRD:

sudo perl modifyRRDs.pl delds myfile.rrd targetDSName

Rename a DS:

sudo perl modifyRRDs.pl renameds myfile.rrd oldDSName newDSName

Splice an old DS from one RRD to another RRD under a new name:

sudo perl modifyRRDs.pl spliceds my.old.file.rrd my.new.file.rrd oldDSName newDSName

About

Utility script to splice an existing RRD's DS into a new RRD under a different name.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages