RRDtool

In most Open Source applications, RRDtool is often used and is the de-facto open standard for Time Series Data. This section describes how to install RRDtool and how to configure your Horizon Core instance to use it.

Following this guide does not cover data migration from JRobin to RRDTool.
Configurations has to be made in the etc directory relative to the Horizon Core home directory. Depending on your operating system the home directory is /usr/share/opennms for Debian/Ubuntu or /opt/opennms for CentOS/RHEL.
  • CentOS/RHEL 8

  • CentOS/RHEL 7

  • Debian/Ubuntu

Enable the OpenNMS repository and install rrdtool and jrrd2
sudo dnf config-manager --enable opennms-repo-stable-*
sudo dnf -y install rrdtool jrrd2
Create a configuration file with the time series storage settings
sudo vi etc/opennms.properties.d/timeseries.properties
org.opennms.rrd.strategyClass=org.opennms.netmgt.rrd.rrdtool.MultithreadedJniRrdStrategy(1)
org.opennms.rrd.interfaceJar=/usr/share/java/jrrd2.jar(2)
opennms.library.jrrd2=/usr/lib64/libjrrd2.so(3)
org.opennms.web.graphs.engine=rrdtool(4)
rrd.binary=/usr/bin/rrdtool(5)
1 Set JNI RRD strategy class instead of JRobin
2 Use the internal JRRD library
3 Use the JRRD library to interface with RRDTool
4 This is optional, use RRDTool to render graphs, if unset keep Backshift as default
5 Path to the RRDTool binary file
If your RRDTool binary is not in /usr/bin/rrdtool, please adjust the path in the following files:
response-adhoc-graph.properties,
response-graph.properties,
snmp-adhoc-graph.properties,
snmp-graph.properties.
Restart the Horizon Core instance to apply the configuration
sudo systemctl restart opennms
Verify if RRD files get created instead of JRobin files
find /opt/opennms/share/rrd -iname "*.rrd"
With the first data collection RRDTool files with extension .rrd will be created. The JRobin files with extension .jrb are not updated. JRobin files are not deleted automatically and you have to delete them manually.
Enable the OpenNMS repository and install rrdtool and jrrd2
sudo yum-config-manager --enable opennms-repo-stable-*
sudo yum -y install rrdtool jrrd2
Create a configuration file with the time series storage settings
sudo vi etc/opennms.properties.d/timeseries.properties
org.opennms.rrd.strategyClass=org.opennms.netmgt.rrd.rrdtool.MultithreadedJniRrdStrategy(1)
org.opennms.rrd.interfaceJar=/usr/share/java/jrrd2.jar(2)
opennms.library.jrrd2=/usr/lib64/libjrrd2.so(3)
org.opennms.web.graphs.engine=rrdtool(4)
rrd.binary=/usr/bin/rrdtool(5)
1 Set JNI RRD strategy class instead of JRobin
2 Use the internal JRRD library
3 Use the JRRD library to interface with RRDTool
4 This is optional, use RRDTool to render graphs, if unset keep Backshift as default
5 Path to the RRDTool binary file
If your RRDTool binary is not in /usr/bin/rrdtool, please adjust the path in the following files:
response-adhoc-graph.properties,
response-graph.properties,
snmp-adhoc-graph.properties,
snmp-graph.properties.
Restart the Horizon Core instance to apply the configuration
sudo systemctl restart opennms
Verify if RRD files get created instead of JRobin files
find /opt/opennms/share/rrd -iname "*.rrd"
With the first data collection RRDTool files with extension .rrd will be created. The JRobin files with extension .jrb are not updated. JRobin files are not deleted automatically and you have to delete them manually.
Install rrdtool and jrrd2
apt -y install rrdtool jrrd2
Create a configuration file with the time series storage settings
sudo vi etc/opennms.properties.d/timeseries.properties
org.opennms.rrd.strategyClass=org.opennms.netmgt.rrd.rrdtool.MultithreadedJniRrdStrategy(1)
org.opennms.rrd.interfaceJar=/usr/share/java/jrrd2.jar(2)
opennms.library.jrrd2=/usr/lib/jni/libjrrd2.so(3)
org.opennms.web.graphs.engine=rrdtool(4)
rrd.binary=/usr/bin/rrdtool(5)
1 Set JNI RRD strategy class instead of JRobin
2 Use the internal JRRD library
3 Use the JRRD library to interface with RRDTool
4 This is optional, use RRDTool to render graphs, if unset keep Backshift as default
5 Path to the RRDTool binary file
If your RRDTool binary is not in /usr/bin/rrdtool, please adjust the path in the following files:
response-adhoc-graph.properties,
response-graph.properties,
snmp-adhoc-graph.properties,
snmp-graph.properties.
Restart the Horizon Core instance to apply the configuration
sudo systemctl restart opennms
Verify if RRD files get created instead of JRobin files
find /usr/share/opennms/share/rrd -iname "*.rrd"
With the first data collection RRDTool files with extension .rrd will be created. The JRobin files with extension .jrb are not updated. JRobin files are not deleted automatically and you have to delete them manually.