Apache Cassandra extension

  • Latest Dynatrace
  • Extension
  • Published Oct 27, 2025

Improve Apache Cassandra observability

Get started

Overview

The Apache Cassandra JMX server monitoring extension in Dynatrace provides information about database exceptions, failed requests, performance, and more.

Dynatrace automatically detects all applications and microservices deployed in your system and allows you to track how they use your database. It provides automatic end-to-end tracing down to a single database statement, database server metrics and log insights. Dynatrace visualizes application to database dependencies for SQL and noSQL databases as well as for cloud databases and self-hosted databases. It also diagnoses anomalies in real-time using AI and pinpoints the root cause down to the slow performing or erroneous SQL statements. Deep code-level insights combined with cloud-native database server monitoring will help you maintain a robust production environment.

If Cassandra is underperforming or a problem occurs, Dynatrace lets you know immediately and shows you which nodes are affected.

This is a JMX (Java Management Extension) Dynatrace extension. JMX is ideal for monitoring applications built using Java. Make sure you are monitoring your Cassandra process as the extension does not support gathering metrics from the client-side.

Use cases

  • Understand all dependencies of your applications to the database, which database statements are executed and their performance.
  • Improve the performance of your application by reducing or optimizing typical database patterns like the 1+N query problem
  • Understand the resource impact that your applications have on your database.
  • Understand the impact of resource shortages, locks or other database issues have on your application by observing the database server itself.

Requirements

  • Cassandra 2+
  • Windows or Linux

Activation and setup

For Apache Cassandra database clients:

If your client application runs on a virtual machine or bare-metal, install OneAgent on it to get started.

If your client application runs as a workload in Kubernetes or OpenShift, set up Dynatrace on Kubernetes or OpenShift.

Activate the following OneAgent features to get tracing insight:

  • Java CQL
  • Java Datastax Cql
  • Go CQL (gocql/gocql)

Activate log monitoring to get log insight.

For Apache Cassandra database servers:

If your database server runs on a virtual machine or bare-metal, install OneAgent on it to get started.

Activate the Cassandra JMX extension to get insight into database server's health and performance combined with metrics and events. Select Add to envrionment.

Activate log monitoring to get full log insight.

Details

The dashboard Cassandra JMX Overview will be included in the extension, where you can see an overview of your Cassandra JXM metrics.

Additionally, all metrics captured by the extension will be appended to the process group instance Unified Analysis screen in three new sections: Exceptions, Usage and Thread Pool. Make sure to be on the new screen for process group instances to see them.

All metrics can also be viewed with the data explorer.

Licensing and costs

The extension consumes DDU Units. However, they are elgible for the free tier included with every host. The amount of DDUs units depends on the number of instances monitored.

Feature sets

When activating your extension using monitoring configuration, you can limit monitoring to one of the feature sets. To work properly the extension has to collect at least one metric after the activation.

In highly segmented networks, feature sets can reflect the segments of your environment. Then, when you create a monitoring configuration, you can select a feature set and a corresponding ActiveGate group that can connect to this particular segment.

All metrics that aren't categorized into any feature set are considered to be the default and are always reported.

A metric inherits the feature set of a subgroup, which in turn inherits the feature set of a group. Also, the feature set defined on the metric level overrides the feature set defined on the subgroup level, which in turn overrides the feature set defined on the group level.

compaction
Metric nameMetric keyDescription
cassandra.compaction.pendingTasks
cassandra.compaction.completedTasks
Compaction ratecassandra.compaction.bytesCompacted
client-requests-write
Metric nameMetric keyDescription
Write failure ratecassandra.clientRequest.write.failures
Write timeout ratecassandra.clientRequest.write.timeout
Write unavailable ratecassandra.clientRequest.write.unavailables
Write latency ratecassandra.clientRequest.write.latency.rate
Write latency 95th percentilecassandra.clientRequest.write.latency.95thPercentile
storage
Metric nameMetric keyDescription
Exception countcassandra.storage.exceptions
Storage loadcassandra.storage.load
Storage total hintscassandra.storage.totalHints
column-family
Metric nameMetric keyDescription
Live SSTable countcassandra.columnFamily.liveSSTableCount
client-requests-read
Metric nameMetric keyDescription
Read failure ratecassandra.clientRequest.read.failures
Read timeout ratecassandra.clientRequest.read.timeout
Read unavailable ratecassandra.clientRequest.read.unavailables
Read latency ratecassandra.clientRequest.read.latency.rate
Read latency 95th percentilecassandra.clientRequest.read.latency.95thPercentile
client-requests-rangeslice
Metric nameMetric keyDescription
RangeSlice timeout ratecassandra.clientRequest.rangeSlice.timeout
RangeSlice failure ratecassandra.clientRequest.rangeSlice.failures
RangeSlice unavailable ratecassandra.clientRequest.rangeSlice.unavailables
RangeSlice latency ratecassandra.clientRequest.rangeSlice.latency.rate
RangeSlice latency 95th percentilecassandra.clientRequest.rangeSlice.latency.95thPercentile
thread-pool
Metric nameMetric keyDescription
cassandra.threadPool.request.read.pending.fix
cassandra.threadPool.request.read.active.fix
Read stage blocked tasks totalcassandra.threadPool.request.read.totalBlocked.fix
Read stage currently blocked taskscassandra.threadPool.request.read.currentlyBlocked.fix
cassandra.threadPool.request.readRepair.pending.fix
cassandra.threadPool.request.readRepair.active.fix
ReadRepair stage blocked tasks totalcassandra.threadPool.request.readRepair.totalBlocked.fix
ReadRepair stage currently blocked taskscassandra.threadPool.request.readRepair.currentlyBlocked.fix
cassandra.threadPool.request.mutation.pending.fix
cassandra.threadPool.request.mutation.active.fix
Mutation stage blocked tasks totalcassandra.threadPool.request.mutation.totalBlocked.fix
Mutation stage currently blocked taskscassandra.threadPool.request.mutation.currentlyBlocked.fix
cache
Metric nameMetric keyDescription
KeyCache hit ratecassandra.cache.keyCache.hits
RowCache hit ratecassandra.cache.rowCache.hits
Related tags
DatabaseJMXNoSQLApacheInfrastructure Observability