Cassandra
Introduction
Cassandra is an open-source NoSQL distributed database that manages large amounts of data across commodity servers. It is a decentralized, scalable storage system designed to handle vast volumes of data across multiple commodity servers, providing high availability without a single point of failure.
Getting Started
Compatibility
The Cassandra O11ySource supports Cassandra versions 3.11 and later.
Data Collection Method
vuSmartMaps collects health and performance data for Cassandra using the Health Collection Probe of OminiAgent.
Prerequisites
Inputs for Configuring Data Source
- Cassandra Host: The IP Address/FQDN of the Cassandra server. This field is the key to identify each server you add here.
- Period [in seconds]: How frequently data is gathered. The period should be between 60 seconds – 3000 seconds.
- Cassandra Port: Provide the Cassandra port details
- JMX Port: Provide the JMX port details
Applications
Firewall Requirement
To collect data from this O11ySource, ensure the following ports are opened:
| Source IP | Destination IP | Destination Port | Protocol | Direction |
|---|---|---|---|---|
| IP address of the Cassandra server | vuSmartMaps Collection/Ingress node IP | 443* | TCP | Inbound |
*Before providing the firewall requirements, please update the port based on the customer environment.
Configuring the Target
JMX must be configured, and the required port should be enabled and accessible to allow data collection.
Configuration Steps
Metrics Collected
| Name | Description | Data Type |
|---|---|---|
| @timestamp | Original timestamp in string format, possibly from raw data. | String |
| timestamp | Precise timestamp (with millisecond precision) when the metric was collected. | DateTime64(3) |
| service_address | Address of the service that generated the metrics. | String |
| service_type | Type of service (e.g., Cassandra node, Jolokia agent). | String |
| jolokia_cassandra_metrics_Request_oneminute_rate | The rate of requests in the last minute. | Float64 |
| jolokia_cassandra_metrics_client_request_read_latency | Latency for read requests in Cassandra (client-side). | Float32 |
| jolokia_cassandra_metrics_client_request_write_latency | Latency for write requests in Cassandra (client-side). | Float32 |
| jolokia_cassandra_metrics_client_request_write_latency_one_min_rate | Rate of write request latency over the last minute. | Float32 |
| jolokia_cassandra_metrics_Estimated_Partition_count | Estimated number of partitions in the Cassandra database. | Float32 |
| jolokia_cassandra_metrics_Node_count | Total number of nodes in the Cassandra cluster. | Float32 |
| jolokia_cassandra_metrics_Request_count | Total number of requests received. | UInt32 |
| jolokia_cassandra_metrics_Storage_Exceptions | Number of storage-related exceptions. | Float32 |
| jolokia_cassandra_metrics_Min_responsetime_Node | Minimum response time among nodes. | Float64 |
| jolokia_cassandra_metrics_Load_storage | Storage load on Cassandra nodes. | Float64 |
| jolokia_cassandra_metrics_Request_rate_unit | The unit of request rate (e.g., requests per second). | String |
| jolokia_cassandra_metrics_SSTables_Max | Maximum number of SSTables in a node. | Float32 |
| jolokia_cassandra_metrics_SSTables_Count | Current count of SSTables in the node. | Float32 |
| jolokia_cassandra_metrics_Timeout_Read | Number of read timeouts encountered. | Float32 |
| jolokia_cassandra_metrics_key_cache_hit_rate | Hit rate for the key cache in Cassandra. | Float64 |
| jolokia_cassandra_metrics_LiveDiskSpace | The amount of live disk space used. | Float32 |
| jolokia_cassandra_metrics_SSTables_Min | Minimum number of SSTables across nodes. | UInt32 |
| jolokia_cassandra_metrics_compaction_completed_tasks | Number of completed compaction tasks. | Float64 |
| jolokia_cassandra_metrics_compaction_pending_tasks | Number of pending compaction tasks. | Float64 |
| jolokia_cassandra_metrics_Max_responsetime_Node | Maximum response time across nodes. | UInt32 |
| jolokia_cassandra_metrics_Unavailable_Read | Number of unavailable read operations. | UInt32 |
| vublock_name | Name of the block (or shard) for partitioning or organizational purposes. | String |
| o11ysource_name | Name of the observability O11ySource. | String |
| beat_hostname | Hostname of the machine where the data was collected. | String |
| target | Target system or host for which the metrics are recorded. | String |
| cassandra_host | Hostname of the Cassandra node. | String |
| jolokia_cassandra_metrics_compaction_completed_tasks_diff | Difference in the number of completed compaction tasks over a time interval. | Float64 |
| jolokia_cassandra_metrics_compaction_completed_tasks_rate | Rate at which compaction tasks are completed. | Float64 |
| jolokia_cassandra_metrics_client_request_read_latency_diff | Difference in read latency over time. | Float64 |
| jolokia_cassandra_metrics_client_request_read_latency_rate | Rate of change in read latency. | Float64 |
| jolokia_cassandra_metrics_Request_count_diff | Difference in request count over a time interval. | Float64 |
| jolokia_cassandra_metrics_client_request_write_latency_rate | Rate of change in write latency. | Float64 |
| jolokia_cassandra_metrics_SSTables_Max_diff | Difference in maximum number of SSTables. | Float32 |
| jolokia_cassandra_metrics_SSTables_Max_rate | Rate of change in the maximum number of SSTables. | Float32 |
| jolokia_cassandra_metrics_compaction_pending_tasks_diff | Difference in the number of pending compaction tasks over time. | Float64 |
| jolokia_cassandra_metrics_compaction_pending_tasks_rate | Rate of change in pending compaction tasks. | Float64 |
| jolokia_cassandra_metrics_Estimated_Partition_count_diff | Difference in the estimated partition count over time. | Float64 |
| jolokia_cassandra_metrics_Estimated_Partition_count_rate | Rate of change in the estimated partition count. | Float64 |
| jolokia_cassandra_jvm_uptime | JVM uptime in milliseconds. | Float64 |
| jolokia_cassandra_metrics_LiveSSTables | Live SSTables count. | Float64 |
| jolokia_cassandra_metrics_client_request_write_latency_diff | Difference in write latency over a time interval. | Float64 |
| jolokia_cassandra_jvm_gc_cms_collection_time | CMS garbage collection time in milliseconds. | UInt64 |
| jolokia_cassandra_jvm_gc_cms_collection_count | Count of CMS garbage collection cycles. | UInt64 |
| jolokia_cassandra_jvm_memory_non_heap_usage_committed | Committed non-heap memory usage by the JVM. | Float64 |
| jolokia_cassandra_jvm_memory_non_heap_usage_max | Maximum non-heap memory available to the JVM. | Float32 |
| jolokia_cassandra_jvm_memory_non_heap_usage_used | Non-heap memory currently used by the JVM. | Float64 |
| jolokia_cassandra_jvm_memory_non_heap_usage_init | Initial non-heap memory allocated to the JVM. | Float64 |
| jolokia_cassandra_jvm_memory_heap_usage_init | Initial heap memory allocated to the JVM. | Float64 |
| jolokia_cassandra_jvm_memory_heap_usage_committed | Committed heap memory usage by the JVM. | Float64 |
| jolokia_cassandra_jvm_memory_heap_usage_max | Maximum heap memory available to the JVM. | Float64 |
| jolokia_cassandra_jvm_memory_heap_usage_used | Heap memory currently used by the JVM. | Float64 |
| jolokia_cassandra_jvm_memory_heap_usage_used_diff | Difference in heap memory used over time. | Float32 |
| jolokia_cassandra_jvm_gc_cms_collection_count_diff | Difference in the number of CMS garbage collection cycles. | Float64 |
| jolokia_cassandra_jvm_memory_non_heap_usage_used_diff | Difference in non-heap memory used over time. | Float64 |
| jolokia_cassandra_jvm_gc_cms_collection_time_diff | Difference in garbage collection time over time. | Float64 |
| jolokia_cassandra_jvm_gc_cms_collection_time_rate | Rate of garbage collection time. | Float64 |
| jolokia_cassandra_jvm_gc_cms_collection_count_rate | Rate of garbage collection cycles. | Float64 |
| jolokia_cassandra_metrics_mbean | MBean path or identifier for the Cassandra metric. | String |
| jolokia_cassandra_metrics_PartitionSize | Size of a partition in bytes. | UInt64 |
| jolokia_cassandra_metrics_TotalDiskSpace | Total disk space available to Cassandra nodes. | Float64 |
| mbean | Java Management Extensions (JMX) MBean identifier. | String |
| keyspace | Cassandra keyspace to which the metrics belong. | String |
| cassandraTable | Cassandra table name to which the metrics belong. | String |
| scope | Additional metadata defining the scope of the metrics. | String |
| allbeat_heartbeat_target_state | Target state of the heartbeat monitoring system. | String |
| allbeat_heartbeat_port | Port used for heartbeat monitoring. | UInt64 |
| topic_name | Name of the Kafka topic (if applicable). | String |
| host | Hostname of the Cassandra node or monitoring agent. | String |
