Cassandra
To enable metrics gathering, Bleemeo agent needs to be installed with JMX enabled, see Java Metrics for setup details.
In addition Cassandra need to expose JMX over a TCP port. To enable JMX you will need to:
- If using Docker, add environment variable
JVM_OPTS=-Dcassandra.jmx.remote.port=7199 - If running Cassandra and Bleemeo agent as native package, nothing should be needed. Cassandra already expose JMX on port 7199 on localhost by default.
- In other case, add option
-Dcom.sun.management.jmxremote.port=7199 -Dcom.sun.management.jmxremote.authenticate=falseto the JVM.
Warning: this will allow unauthenticated access. Make sure no untrusted access to this port is possible or you should setup authenticated JMX access.
Bleemeo agent should auto-detect the JMX port, if some auto-detected parameters are wrong, you
can manually override them by adding the following to /etc/glouton/conf.d/99-local.conf:
service: [...]
# For a Cassandra running outside a container - type: "cassandra" address: "127.0.0.1" port: 9042 jmx_port: 7199 jmx_username: "cassandra" # by default, no authentication is done jmx_password: "cassandra"
# For an additional Cassandra running outside a container - type: "cassandra" instance: "NAME_ASSOCIATED_WITH_YOUR_ADDITIONAL_SERVICE" address: "127.0.0.1" port: 9043 jmx_port: 7200 jmx_username: "cassandra" # by default, no authentication is done jmx_password: "cassandra"
# For a Cassandra running in a Docker container - type: "cassandra" instance: "CONTAINER_NAME" address: "172.17.0.2" port: 9042 jmx_port: 7199 jmx_username: "cassandra" # by default, no authentication is done jmx_password: "cassandra"Agent gathers the following metrics:
| Metric | Description |
|---|---|
| service_status | Status of Cassandra |
| cassandra_bloom_filter_false_ratio | Number of false positive of the bloom filter in percent |
| cassandra_jvm_gc | Number of garbage collection per second |
| cassandra_jvm_gc_utilization | Garbage collection utilization in percent |
| cassandra_jvm_heap_used | Heap memory used in bytes |
| cassandra_jvm_non_heap_used | Non-Heap memory used in bytes |
| cassandra_read_requests | Number of read requests per second |
| cassandra_read_time | Average time of read requests in seconds |
| cassandra_sstable | Number of SSTable |
| cassandra_write_requests | Number of write requests per second |
| cassandra_write_time | Average time of write requests in seconds |
Bleemeo also support for detailed monitoring of specific Cassandra tables. To enable this,
add the following to /etc/glouton/conf.d/99-local.conf:
service: [...]
# For a Cassandra running outside a container - type: "cassandra" detailed_items: - "keyspace1.table1" - "keyspace2.table2" [...]
# For a Cassandra running in a Docker container - type: "cassandra" instance: "CONTAINER_NAME" detailed_items: - "keyspace1.table1" - "keyspace2.table2" [...]The following per-table metrics will be gathered:
| Metric | Description |
|---|---|
| cassandra_bloom_filter_false_ratio | Number of false positive of the bloom filter in percent |
| cassandra_read_requests | Number of read requests per second |
| cassandra_read_time | Average time of read requests in seconds |
| cassandra_sstable | Number of SSTable |
| cassandra_write_requests | Number of write requests per second |
| cassandra_write_time | Average time of write requests in seconds |