NOTE: This post was originally written for the OpenNMS blog by our resident technical writer, Bonnie.
When you want to store large amounts of non-aggregated data (such as performance metrics), the round robin database (RRDtool) in OpenNMS may not be enough. OpenNMS provides a time-series data store (Newts) that works with Apache Cassandra or ScyllaDB to group metrics for more efficient storage and retrieval. It removes aggregation as a bottleneck to storage, and eliminates the wasted computation caused by unused aggregate values.
Cassandra or ScyllaDB require different implementations, configuration, and maintenance, but the process to size them for use with OpenNMS is the same. In Sizing Cassandra for Newts on Discourse, Alejandro Galue, Senior Manager, Services and Support at The OpenNMS Group, describes this process, with detailed instructions and considerations on how to do the following:
- Use the evaluation layer to determine the number of metrics collected
- Configure the ring buffer and resource cache to manage memory use and heap size
- Estimate the cluster and metrics sizes
- Manage time-series data using the Time Window Compaction Strategy (TWCS)
- Set retention values for different metrics
- Configure OpenNMS and data collection