RRDtool

Many open source applications use RRDtool, which 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.

Configurations must in the etc directory relative to the Horizon Core home directory. Depending on your operating system, the home directory is /opt/opennms for Debian/Ubuntu and 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 database 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.
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, 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 that RRD files get created
find /opt/opennms/share/rrd -iname "*.rrd"
The first data collection creates RRDtool files with extension .rrd. You must 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 database 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.
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, 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 that RRD files get created
find /opt/opennms/share/rrd -iname "*.rrd"
The first data collection creates RRDtool files with extension .rrd. You must delete them manually.
Install rrdtool and jrrd2
apt -y install rrdtool jrrd2
Create a configuration file with the time series database 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.
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, 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 that RRD files get created
find /opt/opennms/share/rrd -iname "*.rrd"
The first data collection creates RRDtool files with extension .rrd. You must delete them manually.

Converting JRobin data to RRDTool data

JRobin, the pure-Java RRD implementation has been removed. In order to convert existing JRobin .jrb files to RRDTool .rrd files you can use the JRobin to RRDtool Converter. Refer to https://github.com/opennms-forge/jrobin-to-rrdtool-converter for detailed information on how to download, build and use the utility.