
# Apache Cassandra by JMX

## Overview

This template is designed for the effortless deployment of Apache Cassandra monitoring by Zabbix via JMX and doesn't require any external scripts.

## Requirements

Zabbix version: 7.0 and higher.

## Tested versions

This template has been tested on:
- Apache Cassandra 3.11.8

## Configuration

> Zabbix should be configured according to the instructions in the [Templates out of the box](https://www.zabbix.com/documentation/7.0/manual/config/templates_out_of_the_box) section.

## Setup

This template works with standalone and cluster instances.
Metrics are collected by JMX.

1. Enable and configure JMX access to Apache cassandra.
 See documentation for [instructions](https://cassandra.apache.org/doc/latest/operating/security.html#jmx-access).
2. Set the user name and password in host macros {$CASSANDRA.USER} and {$CASSANDRA.PASSWORD}.

### Macros used

|Name|Description|Default|
|----|-----------|-------|
|{$CASSANDRA.USER}||`zabbix`|
|{$CASSANDRA.PASSWORD}||`zabbix`|
|{$CASSANDRA.KEY_SPACE.MATCHES}|
Filter of discoverable key spaces
|`.*`|
|{$CASSANDRA.KEY_SPACE.NOT_MATCHES}|
Filter to exclude discovered key spaces
|`(system\|system_auth\|system_distributed\|system_schema)`|
|{$CASSANDRA.PENDING_TASKS.MAX.HIGH}||`500`|
|{$CASSANDRA.PENDING_TASKS.MAX.WARN}||`350`|

### Items

|Name|Description|Type|Key and additional info|
|----|-----------|----|-----------------------|
|Cluster - Nodes down||JMX agent|jmx["org.apache.cassandra.net:type=FailureDetector","DownEndpointCount"]
**Preprocessing**

- 
Discard unchanged with heartbeat: `1h`

|
|Cluster - Nodes up||JMX agent|jmx["org.apache.cassandra.net:type=FailureDetector","UpEndpointCount"]
**Preprocessing**

- 
Discard unchanged with heartbeat: `1h`

|
|Cluster - Name||JMX agent|jmx["org.apache.cassandra.db:type=StorageService","ClusterName"]
**Preprocessing**

- 
Discard unchanged with heartbeat: `1h`

|
|Version||JMX agent|jmx["org.apache.cassandra.db:type=StorageService","ReleaseVersion"]
**Preprocessing**

- 
Discard unchanged with heartbeat: `1h`

|
|Dropped messages - Write (Mutation)|
Number of dropped regular writes messages.
|JMX agent|jmx["org.apache.cassandra.metrics:type=DroppedMessage,scope=MUTATION,name=Dropped","Count"]|
|Dropped messages - Read|
Number of dropped regular reads messages.
|JMX agent|jmx["org.apache.cassandra.metrics:type=DroppedMessage,scope=READ,name=Dropped","Count"]|
|Storage - Used (bytes)|
Size, in bytes, of the on disk data size this node manages.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Storage,name=Load","Count"]|
|Storage - Errors|
Number of internal exceptions caught. Under normal exceptions this should be zero.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Storage,name=Exceptions","Count"]|
|Storage - Hints|
Number of hint messages written to this node since [re]start. Includes one entry for each host to be hinted per hint.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Storage,name=TotalHints","Count"]|
|Compaction - Number of completed tasks|
Number of completed compactions since server [re]start.
|JMX agent|jmx["org.apache.cassandra.metrics:name=CompletedTasks,type=Compaction","Value"]|
|Compaction - Total compactions completed|
Throughput of completed compactions since server [re]start.
|JMX agent|jmx["org.apache.cassandra.metrics:name=TotalCompactionsCompleted,type=Compaction","Count"]|
|Compaction - Pending tasks|
Estimated number of compactions remaining to perform.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Compaction,name=PendingTasks","Value"]|
|Commitlog - Pending tasks|
Number of commit log messages written but yet to be fsync'd.
|JMX agent|jmx["org.apache.cassandra.metrics:name=PendingTasks,type=CommitLog","Value"]|
|Commitlog - Total size|
Current size, in bytes, used by all the commit log segments.
|JMX agent|jmx["org.apache.cassandra.metrics:name=TotalCommitLogSize,type=CommitLog","Value"]|
|Latency - Read median|
Latency read from disk in milliseconds - median.
|JMX agent|jmx["org.apache.cassandra.metrics:name=ReadLatency,type=Table","50thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|Latency - Read 75 percentile|
Latency read from disk in milliseconds - p75.
|JMX agent|jmx["org.apache.cassandra.metrics:name=ReadLatency,type=Table","75thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|Latency - Read 95 percentile|
Latency read from disk in milliseconds - p95.
|JMX agent|jmx["org.apache.cassandra.metrics:name=ReadLatency,type=Table","95thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|Latency - Write median|
Latency write to disk in milliseconds - median.
|JMX agent|jmx["org.apache.cassandra.metrics:name=WriteLatency,type=Table","50thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|Latency - Write 75 percentile|
Latency write to disk in milliseconds - p75.
|JMX agent|jmx["org.apache.cassandra.metrics:name=WriteLatency,type=Table","75thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|Latency - Write 95 percentile|
Latency write to disk in milliseconds - p95.
|JMX agent|jmx["org.apache.cassandra.metrics:name=WriteLatency,type=Table","95thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|Latency - Client request read median|
Total latency serving data to clients in milliseconds - median.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ClientRequest,scope=Read,name=Latency","50thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|Latency - Client request read 75 percentile|
Total latency serving data to clients in milliseconds - p75.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ClientRequest,scope=Read,name=Latency","75thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|Latency - Client request read 95 percentile|
Total latency serving data to clients in milliseconds - p95.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ClientRequest,scope=Read,name=Latency","95thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|Latency - Client request write median|
Total latency serving write requests from clients in milliseconds - median.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ClientRequest,scope=Write,name=Latency","50thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|Latency - Client request write 75 percentile|
Total latency serving write requests from clients in milliseconds - p75.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ClientRequest,scope=Write,name=Latency","75thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|Latency - Client request write 95 percentile|
Total latency serving write requests from clients in milliseconds - p95.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ClientRequest,scope=Write,name=Latency","95thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|KeyCache - Capacity|
Cache capacity in bytes.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Cache,scope=KeyCache,name=Capacity","Value"]
**Preprocessing**

- 
Discard unchanged with heartbeat: `1h`

|
|KeyCache - Entries|
Total number of cache entries.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Cache,scope=KeyCache,name=Entries","Value"]|
|KeyCache - HitRate|
All time cache hit rate.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Cache,scope=KeyCache,name=HitRate","Value"]
**Preprocessing**

- 
Custom multiplier: `100`

|
|KeyCache - Hits per second|
Rate of cache hits.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Cache,scope=KeyCache,name=Hits","Count"]
**Preprocessing**

- Change per second
|
|KeyCache - requests per second|
Rate of cache requests.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Cache,scope=KeyCache,name=Requests","Count"]
**Preprocessing**

- Change per second
|
|KeyCache - Size|
Total size of occupied cache, in bytes.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Cache,scope=KeyCache,name=Size","Value"]|
|Client connections - Native|
Number of clients connected to this nodes native protocol server.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Client,name=connectedNativeClients","Value"]|
|Client connections - Trifts|
Number of connected to this nodes thrift clients.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Client,name=connectedThriftClients","Value"]|
|Client request - Read per second|
The number of client requests per second.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ClientRequest,scope=Read,name=Latency","Count"]
**Preprocessing**

- Change per second
|
|Client request - Write per second|
The number of local write requests per second.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ClientRequest,scope=Write,name=Latency","Count"]
**Preprocessing**

- Change per second
|
|Client request - Write Timeouts|
Number of write requests timeouts encountered.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ClientRequest,scope=Write,name=Timeouts","Count"]|
|Thread pool.MutationStage - Pending tasks|
Number of queued tasks queued up on this pool.

MutationStage: Responsible for writes (exclude materialized and counter writes).
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=MutationStage,name=PendingTasks","Value"]|
|Thread pool MutationStage - Currently blocked task|
Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.

MutationStage: Responsible for writes (exclude materialized and counter writes).
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=MutationStage,name=CurrentlyBlockedTasks","Count"]|
|Thread pool MutationStage - Total blocked tasks|
Number of tasks that were blocked due to queue saturation.

MutationStage: Responsible for writes (exclude materialized and counter writes).
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=MutationStage,name=TotalBlockedTasks","Count"]|
|Thread pool CounterMutationStage - Pending tasks|
Number of queued tasks queued up on this pool.

CounterMutationStage: Responsible for counter writes.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=CounterMutationStage,name=PendingTasks","Value"]|
|Thread pool CounterMutationStage - Currently blocked task|
Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.

CounterMutationStage: Responsible for counter writes.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=CounterMutationStage,name=CurrentlyBlockedTasks","Count"]|
|Thread pool CounterMutationStage - Total blocked tasks|
Number of tasks that were blocked due to queue saturation.

CounterMutationStage: Responsible for counter writes.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=CounterMutationStage,name=TotalBlockedTasks","Count"]|
|Thread pool ReadStage - Pending tasks|
Number of queued tasks queued up on this pool.

ReadStage: Local reads run on this thread pool.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=ReadStage,name=PendingTasks","Value"]|
|Thread pool ReadStage - Currently blocked task|
Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.

ReadStage: Local reads run on this thread pool.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=ReadStage,name=CurrentlyBlockedTasks","Count"]|
|Thread pool ReadStage - Total blocked tasks|
Number of tasks that were blocked due to queue saturation.

ReadStage: Local reads run on this thread pool.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=ReadStage,name=TotalBlockedTasks","Count"]|
|Thread pool ViewMutationStage - Pending tasks|
Number of queued tasks queued up on this pool.

ViewMutationStage: Responsible for materialized view writes.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=ViewMutationStage,name=PendingTasks","Value"]|
|Thread pool ViewMutationStage - Currently blocked task|
Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.

ViewMutationStage: Responsible for materialized view writes.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=ViewMutationStage,name=CurrentlyBlockedTasks","Count"]|
|Thread pool ViewMutationStage - Total blocked tasks|
Number of tasks that were blocked due to queue saturation.

ViewMutationStage: Responsible for materialized view writes.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=request,scope=ViewMutationStage,name=TotalBlockedTasks","Count"]|
|Thread pool MemtableFlushWriter - Pending tasks|
Number of queued tasks queued up on this pool.

MemtableFlushWriter: Writes memtables to disk.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MemtableFlushWriter,name=PendingTasks","Value"]|
|Thread pool MemtableFlushWriter - Currently blocked task|
Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.

MemtableFlushWriter: Writes memtables to disk.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MemtableFlushWriter,name=CurrentlyBlockedTasks","Count"]|
|Thread pool MemtableFlushWriter - Total blocked tasks|
Number of tasks that were blocked due to queue saturation.

MemtableFlushWriter: Writes memtables to disk.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MemtableFlushWriter,name=TotalBlockedTasks","Count"]|
|Thread pool HintsDispatcher - Pending tasks|
Number of queued tasks queued up on this pool.

HintsDispatcher: Performs hinted handoff.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=HintsDispatcher,name=PendingTasks","Value"]|
|Thread pool HintsDispatcher - Currently blocked task|
Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.

HintsDispatcher: Performs hinted handoff.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=HintsDispatcher,name=CurrentlyBlockedTasks","Count"]|
|Thread pool HintsDispatcher - Total blocked tasks|
Number of tasks that were blocked due to queue saturation.

HintsDispatcher: Performs hinted handoff.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=HintsDispatcher,name=TotalBlockedTasks","Count"]|
|Thread pool MemtablePostFlush - Pending tasks|
Number of queued tasks queued up on this pool.

MemtablePostFlush: Cleans up commit log after memtable is written to disk.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MemtablePostFlush,name=PendingTasks","Value"]|
|Thread pool MemtablePostFlush - Currently blocked task|
Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.

MemtablePostFlush: Cleans up commit log after memtable is written to disk.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MemtablePostFlush,name=CurrentlyBlockedTasks","Count"]|
|Thread pool MemtablePostFlush - Total blocked tasks|
Number of tasks that were blocked due to queue saturation.

MemtablePostFlush: Cleans up commit log after memtable is written to disk.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MemtablePostFlush,name=TotalBlockedTasks","Count"]|
|Thread pool MigrationStage - Pending tasks|
Number of queued tasks queued up on this pool.

MigrationStage: Runs schema migrations.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MigrationStage,name=PendingTasks","Value"]|
|Thread pool MigrationStage - Currently blocked task|
Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.

MigrationStage: Runs schema migrations.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MigrationStage,name=CurrentlyBlockedTasks","Count"]|
|Thread pool MigrationStage - Total blocked tasks|
Number of tasks that were blocked due to queue saturation.

MigrationStage: Runs schema migrations.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MigrationStage,name=TotalBlockedTasks","Count"]|
|Thread pool MiscStage - Pending tasks|
Number of queued tasks queued up on this pool.

MiscStage: Miscellaneous tasks run here.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MiscStage,name=PendingTasks","Value"]|
|Thread pool MiscStage - Currently blocked task|
Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.

MiscStage: Miscellaneous tasks run here.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MiscStage,name=CurrentlyBlockedTasks","Count"]|
|Thread pool MiscStage - Total blocked tasks|
Number of tasks that were blocked due to queue saturation.

MiscStage: Miscellaneous tasks run here.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=MiscStage,name=TotalBlockedTasks","Count"]|
|Thread pool SecondaryIndexManagement - Pending tasks|
Number of queued tasks queued up on this pool.

SecondaryIndexManagement: Performs updates to secondary indexes.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=SecondaryIndexManagement,name=PendingTasks","Value"]|
|Thread pool SecondaryIndexManagement - Currently blocked task|
Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.

SecondaryIndexManagement: Performs updates to secondary indexes.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=SecondaryIndexManagement,name=CurrentlyBlockedTasks","Count"]|
|Thread pool SecondaryIndexManagement - Total blocked tasks|
Number of tasks that were blocked due to queue saturation.

SecondaryIndexManagement: Performs updates to secondary indexes.
|JMX agent|jmx["org.apache.cassandra.metrics:type=ThreadPools,path=internal,scope=SecondaryIndexManagement,name=TotalBlockedTasks","Count"]|

### Triggers

|Name|Description|Expression|Severity|Dependencies and additional info|
|----|-----------|----------|--------|--------------------------------|
|Apache Cassandra: There are down nodes in cluster||`last(/Apache Cassandra by JMX/jmx["org.apache.cassandra.net:type=FailureDetector","DownEndpointCount"])>0`|Average||
|Apache Cassandra: Version has changed|
Cassandra version has changed. Acknowledge to close the problem manually.
|`last(/Apache Cassandra by JMX/jmx["org.apache.cassandra.db:type=StorageService","ReleaseVersion"],#1)<>last(/Apache Cassandra by JMX/jmx["org.apache.cassandra.db:type=StorageService","ReleaseVersion"],#2) and length(last(/Apache Cassandra by JMX/jmx["org.apache.cassandra.db:type=StorageService","ReleaseVersion"]))>0`|Info|**Manual close**: Yes|
|Apache Cassandra: Failed to fetch info data|
Zabbix has not received data for items for the last 15 minutes
|`nodata(/Apache Cassandra by JMX/jmx["org.apache.cassandra.metrics:type=Storage,name=Load","Count"],15m)=1`|Warning||
|Apache Cassandra: Too many storage exceptions||`min(/Apache Cassandra by JMX/jmx["org.apache.cassandra.metrics:type=Storage,name=Exceptions","Count"],5m)>0`|Warning||
|Apache Cassandra: Many pending tasks||`min(/Apache Cassandra by JMX/jmx["org.apache.cassandra.metrics:type=Compaction,name=PendingTasks","Value"],15m)>{$CASSANDRA.PENDING_TASKS.MAX.WARN}`|Warning|**Depends on**:

- Apache Cassandra: Too many pending tasks
|
|Apache Cassandra: Too many pending tasks||`min(/Apache Cassandra by JMX/jmx["org.apache.cassandra.metrics:type=Compaction,name=PendingTasks","Value"],15m)>{$CASSANDRA.PENDING_TASKS.MAX.HIGH}`|Average||

### LLD rule Tables

|Name|Description|Type|Key and additional info|
|----|-----------|----|-----------------------|
|Tables|
Info about keyspaces and tables
|JMX agent|jmx.discovery[beans,"org.apache.cassandra.metrics:type=Table,keyspace=*,scope=*,name=ReadLatency"]|

### Item prototypes for Tables

|Name|Description|Type|Key and additional info|
|----|-----------|----|-----------------------|
|{#JMXKEYSPACE}.{#JMXSCOPE}: SS Tables per read 75 percentile|
The number of SSTable data files accessed per read - p75.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=SSTablesPerReadHistogram","75thPercentile"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: SS Tables per read 95 percentile|
The number of SSTable data files accessed per read - p95.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=SSTablesPerReadHistogram","95thPercentile"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Tombstone scanned 75 percentile|
Number of tombstones scanned per read - p75.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=TombstoneScannedHistogram","75thPercentile"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Tombstone scanned 95 percentile|
Number of tombstones scanned per read - p95.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=TombstoneScannedHistogram","95thPercentile"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Waiting on free memtable space 75 percentile|
The time spent waiting for free memtable space either on- or off-heap - p75.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=WaitingOnFreeMemtableSpace","75thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Waiting on free memtable space95 percentile|
The time spent waiting for free memtable space either on- or off-heap - p95.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=WaitingOnFreeMemtableSpace","95thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Col update time delta75 percentile|
The column update time delta - p75.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=ColUpdateTimeDeltaHistogram","75thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Col update time delta 95 percentile|
The column update time delta - p95.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=ColUpdateTimeDeltaHistogram","95thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Bloom filter false ratio|
The ratio of Bloom filter false positives to total checks.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=BloomFilterFalseRatio","Value"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Compression ratio|
The compression ratio for all SSTables.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=CompressionRatio","Value"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: KeyCache hit rate|
The key cache hit rate.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=KeyCacheHitRate","Value"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Live SS Table|
Number of "live" (in use) SSTables.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=LiveSSTableCount","Value"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Max partition size|
The size of the largest compacted partition.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=MaxPartitionSize","Value"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Mean partition size|
The average size of compacted partition.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=MeanPartitionSize","Value"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Pending compactions|
The number of pending compactions.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=PendingCompactions","Value"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Snapshots size|
The disk space truly used by snapshots.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=SnapshotsSize","Value"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Compaction bytes written|
The amount of data that was compacted since (re)start.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=CompactionBytesWritten","Count"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Bytes flushed|
The amount of data that was flushed since (re)start.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=BytesFlushed","Count"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Pending flushes|
The number of pending flushes.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=PendingFlushes","Count"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Live disk space used|
The disk space used by "live" SSTables (only counts in use files).
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=LiveDiskSpaceUsed","Count"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Disk space used|
Disk space used.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=TotalDiskSpaceUsed","Count"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Out of row cache hits|
The number of row cache hits that do not satisfy the query filter and went to disk.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=RowCacheHitOutOfRange","Count"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Row cache hits|
The number of row cache hits.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=RowCacheHit","Count"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Row cache misses|
The number of table row cache misses.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=RowCacheMiss","Count"]|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Read latency 75 percentile|
Latency read from disk in milliseconds.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=ReadLatency","75thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Read latency 95 percentile|
Latency read from disk in milliseconds.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=ReadLatency","95thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Read per second|
The number of client requests per second.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=ReadLatency","Count"]
**Preprocessing**

- Change per second
|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Write latency 75 percentile|
Latency write to disk in milliseconds.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=WriteLatency","75thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Write latency 95 percentile|
Latency write to disk in milliseconds.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=WriteLatency","95thPercentile"]
**Preprocessing**

- 
Custom multiplier: `0.001`

|
|{#JMXKEYSPACE}.{#JMXSCOPE}: Write per second|
The number of local write requests per second.
|JMX agent|jmx["org.apache.cassandra.metrics:type=Table,keyspace={#JMXKEYSPACE},scope={#JMXSCOPE},name=WriteLatency","Count"]
**Preprocessing**

- Change per second
|

## Feedback

Please report any issues with the template at [`https://support.zabbix.com`](https://support.zabbix.com)

You can also provide feedback, discuss the template, or ask for help at [`ZABBIX forums`](https://www.zabbix.com/forum/zabbix-suggestions-and-feedback)

