Time Series Storage
Horizon stores performance data in a time series storage (JRobin by default). For different scenarios you may want to use a different time series storage. The following implementations are installed by default:
JRobin |
JRobin is a clone of RRDTool written in Java and is the default time series storage when you install Horizon. It does not fully cover the latest feature set of RRDTool. Data is stored on the local file system of the Horizon node. Depending on I/O capabilities, it works well for small- to medium-size installations. |
RRDTool |
RRDTool is actively maintained and the de-facto standard for time series data. Data is stored on the local file system of the Horizon node. Depending on I/O capabilities it works well for small- to medium-size installations. |
Newts |
Newts is a database schema for Cassandra. The time series is stored on a dedicated Cassandra cluster, which gives growth flexibility and lets time series data persist in a large scale. |
You can use time series storage integrations with plugins based on our OpenNMS Plugin API (formerly OIA). Several plugins are available as a replacement for the ones shipped with OpenNMS Horizon (see time series integration layer).
This section describes how to configure Horizon to use RRDTool and Newts.
The way data is stored in different time series databases makes it extremely hard to migrate from one technology to another. You cannot prevent data loss when you switch from one to another. |
Run two time series writes in parallel
The default time series strategy (RRD, Newts, integration) is used for both read/write by default. You can add another time series write in parallel to the default strategy. This additional time series storage may be used for validation purposes or as a backup time series before moving from one time series to another.
Write to Newts in parallel
You can enable writing to Newts without it being the default time series strategy.
opennms-newts
feature.sudo vi etc/featuresBoot.d/newts.boot
opennms-newts
sudo systemctl restart opennms
Write to Time Series Integration Plugin in parallel
You can enable writing to any time series integration plugin in parallel without having integration as the default time series strategy.
opennms-timeseries-api
feature.sudo vi etc/featuresBoot.d/timeseries.boot
opennms-timeseries-api
sudo systemctl restart opennms