Monitoring

Cassandra

LogicMonitor monitors Cassandra clusters using JMX. The following Datasources are available:

  • Cassandra JVM Garbage Collection -
  • Cassandra JVM Heap and Threads and Uptime -
  • Cassandra JVM Memory Pools -
  • Cassandra Keyspace Cache -
  • CassandraColumnFamilyStore -
  • CassandraCommitLog
  • CassandraCompactionManager
  • CassandraConcurrent -

To use these in LogicMonitor, check your cassandra-env.sh file on the Cassandra server to see what you have configured for RMI authentication, including user, password and JMX port. Then add your Cassandra server as a monitored device. 

 

Once added, locate this server on the Device tree and configure its properties as follows:

  • Set the system.categories property to cassandra
  • Set the following three properties to reflect what you have configured in the cassandra-env.sh file:
    1. cassandra.jmx.port =
    2. jmx.user =
    3. jmx.pass =
  • Note: Two of the datasources (CassandraColumnFamilyStore and CassandraConcurrent) use jmx.port for #1 above. If you use these, either edit the 'URL' field in those datasources to specify 'cassandra.jmx.port' to make them consistent, or set the jmx.port property instead.

 

Cassandra Troubleshooting

The nodetool utility is a command-line interface to access the data exposed by Cassandra via JMX. You can use this to verify that you can access performance data as follows:

nodetool -h host -p port -u user -pw password command

Available commands:
  info                   - Print node informations (uptime, load, ...)
  cfstats                - Print statistics on column families
  cfhistograms           - Print statistic histograms for a given column family
  compactionstats        - Print statistics on compactions
  netstats [host]        - Print network information on provided host
  tpstats                - Print usage statistics of thread pools

See Apache Nodetool documentation for more details.