From OpenNMS
Jump to: navigation, search

Converting RRD Files Created Using RRDTool for Use With JRobin

In OpenNMS release 1.3.2, the default strategy for reading and writing RRD (round-robin database) files changed from the JNI-based strategy using rrdtool to a pure-Java strategy using JRobin. If you were using the JNI RRD strategy prior to the upgrade to 1.3.2, you may find that your resource graphs (formerly known as "response" and "snmp performance" graphs) are suddenly missing. If you want to get up and running as quickly as possible, you can simply change the RRD strategy for your upgraded installation back to the JNI one by editing OPENNMS_HOME/etc/rrd-configuration.properties and uncommenting the appropriate line. If you have a little time to spare, and want the performance boost that JRobin offers, you can convert your RRD files using the JRobin converter utility.

Back up your RRD files

Go ahead, make a full backup copy of your OPENNMS_HOME/share/rrd directory. I'll wait. You did store that backup in a safe place, right?

Run the conversion

    • Jrobin 1.5.8 does not have a current howto to use it's converter class. Please update if you have a process. The below process however works just fine**

Download version 1.5.4 or later of JRobin (1.5.9 full download here) and extract the tar archive, perhaps to /tmp. You will find JRobinLite-1.5.4/lib/convertor-1.5.4.jar. Change to your OPENNMS_HOME/share/rrd directory and run the converter recursively. Note that you will very likely need perform this step as root, so be careful. Example:

# cd /opt/OpenNMS/share/rrd
# find . -name '*.rrd' -print -exec java -jar /tmp/JRobinLite-1.5.4/lib/convertor-1.5.4.jar {} \;

This will make a converted copy of each RRD file with an extension of .rrd.jrb. You can either rename these files to have the extension .jrb, which OpenNMS 1.3.2 uses by default, or you can leave the filenames unchanged and set org.opennms.rrd.fileExtension=.rrd.jrb in your OPENNMS_HOME/etc/rrd-configuration.properties file.