Cassandra Monitoring User Guide

General information

Overview

Cassandra monitoring is a Gateway configuration file that enables monitoring of Cassandra through a set of samplers with customised JMX plug-in settings.

Apache Cassandra is a free and open-source distributed NoSQL database management system that provides scalability and high-availability.

Some of Cassandra's key attributes are:

  • Fault tolerant - Data is automatically replicated to multiple nodes for fault-tolerance.
  • Decentralized - There are no single points of failure.
  • Elastic - Read and write throughput increase linearly as new machines are added, with no downtime or interruption to applications.

It is important to monitor Cassandra performance to identify database slowdowns, interruptions, or pressing resource limitations - and take quick and appropriate actions to correct them.

This guide discusses the steps to set up the Cassandra integration on a Gateway. Once the integration is set up, the samplers providing the dataviews become available to that Gateway.

To view the sample metrics and dataviews, see Cassandra Monitoring Technical Reference.

User requirements

This monitoring template is a Gateway configuration setup that can be included in the Gateway Setup Editor.

To use this template, your configuration must meet the following requirements:

  • A machine running the Netprobe must have access to the Cassandra published HTTP address and port.
  • An Active Console 2 that is connected to the Gateway.
  • Cassandra configuration files extracted to their Gateway set-up.
  • Specify a Managed entity for each monitored node in the Cassandra Cluster.
  • A JMX-enabled Cassandra Cluster.

System requirements

The following requirements must be met prior to the installation and setup of the template:

  • Template package: geneos-integration-cassandra-<version>.zip.
  • Managed entities utilising the samplers defined in the include/CassandraMonitoring.xml.
  • Netprobe version 4.5 or higher.

Note: The template is verified to be working with Cassandra version 3.11.1.

 

 

Audience

This document is a reference guide to introduce templates and scripts built using the Geneos development toolkit plug-ins.

The template allows you to integrate specific applications and services to collect metrics without having to create a new plug-in.

 

Install and set up

Ensure that you have read and can follow the system requirements prior to installation and setup of this integration template.

  1. Download the config file (geneos-integration-cassandra-<version>.zip) from the ITRS Downloads site.
  2. Open Active Console 2.
  3. Extract the Cassandra monitoring configuration file into the Gateway Setup directory.
  4. Click Includes to create a new file in the Navigation panel.
  5. Enter the location of the file to include in the Location field. In this example, use the include/CassandraMonitoring.xml:
  6. Note: The priority controls the importance of a file when merging. Sections in a higher priority file will take precedence over sections in a lower priority file. This priority setting affects the priority of configuration in the main setup file.

  7. Expand the file location in the Includes section.
  8. Select Click to load...
  9. Click Yes to load the new Cassandra include file.
  10. Click Managed entities in the Navigation panel.
  11. Add the Cassandra type to the Managed Entity section that you will use to monitor Cassandra.
  12. Click the Validate button to check your configuration.

The Validate button allows you to check if there are any errors or warnings in your configuration set-up.

Once the Gateway configuration appears in the Includes section, you can add the samplers and other variables.

Set up the samplers

These are the pre-configured samplers available to use in CassandraMonitoring.xml.

Configure the required fields by referring to the table below:

Samplers
Cassandra-GC
Cassandra-Throughput
Cassandra-Latency
Cassandra-DiskUsage
Cassandra-Errors
Cassandra-Tasks
 

 

Set up the variables

The CassandraMonitoring.xml template provides the variables that are set in the Environments section:

Variable Description
CASSANDRA_JMX_PORT Cassandra host name.
 
Default: localhost
CASSANDRA_JMX_HOST Cassandra JMX port.
 
Default: 7199
CASSANDRA_MONITORING_GROUP_NAME Sampler group name.
 
Default: Cassandra
   

After checking and saving the changes, the samplers you have set in the Gateway configuration display in Active Console 2.

 

Set up the rules

The CassandraMonitoring-SampleRules.xml template also provides a separate sample rules that you can use to configure the Gateway Setup Editor.

Your configuration rules must be set in the Includes section.

  1. Enter the location of the file to include in the Location field. In this example, use the include/CassandraMonitoring-SampleRules.xml:
  2. Note: The priority controls the importance of a file when merging. Sections in a higher priority file will take precedence over sections in a lower priority file. This priority setting affects the priority of configuration in the main setup file.

  3. Expand the file location in the Includes section.
  4. Select Click to load...
  5. Click Yes to load the new Cassandra include rules file.
  6. Click Rules in the Navigation panel to create new rules.
Sample Rules Description
Errors - Read Unavailable

Sets the severity to critical if the number of read unavailable exceptions exceeds CASSANDRA_ERRORS_READ_UNAVAILABLE_THERESHOLD.

Default: Threshold is set to 0

Errors - Write Unavailable

Sets the severity to critical if the number of write unavailable exceptions exceeds CASSANDRA_ERRORS_WRITE_UNAVAILABLE_THERESHOL.

Default: Threshold is set to 0

Disk Usage - High Load Sets the severity to critical if the storage load exceeds CASSANDRA_DISK_USAGE_HIGH_LOAD_THRESHOLD. The threshold must be set for the rule to take effect. There is no default value provided.
Throughput - High Read Throughput Sets the severity to critical if the read throughput of the last minute exceeds CASSANDRA_THROUGHPUT_HIGH_READ_THRESHOLD. The threshold must be set for the rule to take effect. There is no default value provided.
Throughput - High Write Throughput Sets the severity to critical if the write throughput of the last minute exceeds CASSANDRA_THROUGHPUT_HIGH_WRITE_THRESHOLD. The threshold must be set for the rule to take effect. There is no default value provided.
GC - ParNew - High Last GC Duration

Sets the severity to critical is the last ParNew GC duration exceeds CASSANDRA_GC_LONG_PARNEW_GC_DURATION_THRESHOLD.

Default: Threshold is set to 300 milliseconds .

GC - CMS - High Last GC Duration

Sets the severity to critical if the last CMS GC duration exceeds CASSANDRA_GC_LONG_CMS_GC_DURATION_THRESHOLD.

Default: Threshold is set to 300 milliseconds