Apache Cassandra is based on a peer-to-peer architecture, which makes it difficult to manage and monitor when we have more nodes. This chapter provides a wide variety of options available for monitoring and logging for Apache Cassandra, which will help in identifying issues proactively. We started with a single-node GUI-based monitoring with JConsole, followed by a CLI utility, JMXTerm, which can easily be integrated to jobs/scripts for any kind of operation. These two are really handy for monitoring or managing in the current state, but neither of them would help historical data-analysis when there is an outage. Inbuilt tools from Cassandra also would not solve this, because nodetool would just be a wrapper to JMXTerm.
The introduction of a metric stack is important. It would contain a metrics publisher, Telegraf for system metrics, and JMXTrans for JVM-related metrics...