Info
License: Free — part of the universal collection tier.
Apache Cassandra¶
The cassandra probe monitors Apache Cassandra via Jolokia HTTP REST,
covering connections, request latency and errors (read/write), compaction
pending tasks, storage load, JVM heap and garbage collection.
Quick start¶
# probes.d/10-cassandra.yaml — each file under probes.d/ is a YAML array of probes
- name: cassandra
type: cassandra
params:
jolokia_url: http://localhost:8778/jolokia
Parameters¶
| Parameter | Must set | Default | Description |
|---|---|---|---|
jolokia_url |
In practice | http://localhost:8778/jolokia |
URL of the Jolokia agent attached to the Cassandra JVM. Example: http://cassandra01:8778/jolokia |
timeout |
No | 10 |
HTTP request timeout in seconds |
interval |
No | 60 |
Seconds between collections |
instance_name |
No | - | Stable identity override for this node |
Metrics¶
| Metric | Unit | Description |
|---|---|---|
senhub.cassandra.up |
1 | 1 when the Jolokia endpoint is reachable, 0 otherwise |
cassandra.client.connections |
{connection} | Native CQL client connections |
cassandra.client.requests.count |
{request} | Request count by operation (read/write), tagged with operation |
cassandra.client.requests.errors |
{request} | Failed requests by operation |
cassandra.client.requests.latency |
s | Mean client request latency, read or write |
cassandra.client.requests.latency.p99 |
s | 99th-percentile client request latency, read or write |
cassandra.compaction.tasks.pending |
{task} | Compaction tasks waiting to run |
cassandra.storage.load |
By | Disk space used by the local node |
jvm.memory.heap.used |
By | JVM heap in use |
jvm.gc.collections.count |
{collection} | GC collections by collector (Minor / Major), tagged with collector |
Operational notes¶
- Requires Jolokia deployed as a Java agent or embedded in the Cassandra process. The
bitnami/cassandraimage ships Jolokia at port 8778 by default; vanilla Cassandra requires the javaagent to be added tocassandra-env.sh. - Latency values from Cassandra MBeans are in microseconds; the probe converts them to milliseconds.
- Metrics align with the OpenTelemetry Collector contrib
cassandraReceiverwhere names exist.
Metric reference¶
Every metric this probe can emit. Metric is the OpenTelemetry name the
OTLP, Prometheus and Zabbix outputs derive theirs from. Name is what a
Nagios check and the API metrics= filter match.
PRTG channel is the label PRTG shows, placeholders filled from the
series' tags.
| Metric | Name | PRTG channel | Unit | Description |
|---|---|---|---|---|
senhub.cassandra.up |
senhub.cassandra.up |
Cassandra Up | # | 1 when the Cassandra Jolokia endpoint is reachable, 0 otherwise |
cassandra.client.connections |
cassandra.client.connections |
Cassandra Native Client Connections | # | Number of clients connected to the native CQL transport |
cassandra.client.requests.count |
cassandra.client.requests.count |
Cassandra {operation} Requests | # | Total number of client requests (Read or Write) |
cassandra.client.requests.latency |
cassandra.client.requests.latency |
Cassandra {operation} Latency Mean | ms | Mean client request latency in milliseconds (Read or Write) |
cassandra.client.requests.latency.p99 |
cassandra.client.requests.latency.p99 |
Cassandra {operation} Latency p99 | ms | 99th percentile client request latency in milliseconds (Read or Write) |
cassandra.client.requests.errors |
cassandra.client.requests.errors |
Cassandra {operation} Errors | # | Client requests that did not succeed (Read or Write): failures, timeouts and unavailables |
cassandra.compaction.tasks.completed |
cassandra.compaction.tasks.completed |
Cassandra Compaction Tasks Completed | # | Total number of completed compaction tasks |
cassandra.compaction.tasks.pending |
cassandra.compaction.tasks.pending |
Cassandra Compaction Tasks Pending | # | Number of pending compaction tasks |
cassandra.storage.load |
cassandra.storage.load |
Cassandra Storage Load | B | Total size of all SSTables on disk in bytes |
cassandra.storage.total_hints |
cassandra.storage.total_hints |
Cassandra Total Hints | # | Total number of hints stored since last restart |
jvm.memory.heap.used |
jvm.memory.heap.used |
Cassandra JVM Heap Used | B | JVM heap memory currently in use by the Cassandra process |
jvm.gc.collections.count |
jvm.gc.collections.count |
Cassandra GC {collector} Collections | # | Total number of garbage collections performed by the named GC collector |
jvm.gc.collections.elapsed |
jvm.gc.collections.elapsed |
Cassandra GC {collector} Elapsed | ms | Total elapsed time in milliseconds spent in garbage collection by the named GC collector |