Cassandra Messages Test

When a new Cassandra database node is added to an existing Cassandra database cluster,administrators transfer the data to the new node by executing the {{netstats}} command on the node from which data should be sent to the new node. This command helps in data transfer between the nodes when the node is joining the cluster. If the data transfer is not done completely or is partially completed, the data in the new node may be stale or outdated. When users access data from that particular node, the data may either be incorrect or the data may not be available at all. To alleviate such data transfer issues and ensure that the data in the new node joining the cluster is up to date, it is important to monitor the messages that are being transferred to each new node. The Cassandra Messages test helps administrators in this regard!

This test auto-discovers the nodes that are joining the target Cassandra database node in a cluster and for each node, this test reports the rate at which large messages, small messages and gossip messages were transferred from the target database node. In addition, this test also reveals the rate at which large/small/gossip messages were pending transfer to the joining node and were dropped during transfer. This test also reveals how many messages timed out during transfer. Using this test, administrators can figure out the joining node that is not up to date with the target database nose.

Target of the test : A Cassandra Database

Agent deploying the test : An external/remote agent.

Outputs of the test : One set of results for each node clustered with the target Cassandra Database node being monitored.

Configurable parameters for the test
Parameters Description

Test Period

How often should the test be executed.

Host

The host for which the test is to be configured.

Port

The port on which the specified host listens. By default, this is 9042.

JMX Remote Port

Here, specify the port at which the JMX listens for requests from remote hosts. Ensure that you specify the same port that you configured in the cassandra-env.sh file (if the target Cassandra Database node is installed on a Unix host) or the cassandra-env.ps1 file (if the target Cassandra Database node is installed on a Windows host) in the <CASSANDRA_HOME> directory used by the target Cassandra Database node. To know how to specify the remote port, refer to Enabling JMX Support for JRE.

JMX User and JMX Password

If JMX requires authentication only (but no security), then ensure that the user and password parameters are configured with the credentials of a user with read-write access to JMX. To know how to create this user, refer to Configuring the eG Agent to Support JMX Authentication.

Confirm Password

Confirm the Password by retyping it in this text box.

Measurements made by the test
Measurement Description Measurement Unit Interpretation

Large messages completed

Indicates the rate at which large messages were completely transferred to this node during the last measurement period.

Messages/sec

A high value is desired for this measure.

Large messages dropped

Indicates the rate at which large messages were dropped while being transferred to this node during the last measurement period.

Messages/sec

Ideally, the value of this measure should be zero.

Large messages pending

Indicates the rate at which large messages were pending to be transferred from this node during the last measurement period.

Messages/sec

A sudden/gradual increase in the value of this measure is a cause of concern. This indicates that the data in the joining node is not up to date with the data available in the target database node.

Small messages completed

Indicates the rate at which small messages were completely transferred to this node during the last measurement period.

Messages/sec

A high value is desired for this measure.

Small messages dropped

Indicates the rate at which small messages were dropped while being transferred to this node during the last measurement period.

Messages/sec

Ideally, the value of this measure should be zero.

Small messages pending

Indicates the rate at which small messages were pending to be transferred to this node during the last measurement period.

Messages/sec

A sudden/gradual increase in the value of this measure is a cause of concern. This indicates that the data in the joining node is not up to date with the data available in the target database node.

Gossip messages completed

Indicates the rate at which gossip messages were completely transferred to this node during the last measurement period.

Messages/sec

A high value is desired for this measure.

Gossip messages dropped

Indicates the rate at which gossip messages were dropped while being transferred to this node during the last measurement period.

Messages/sec

Ideally, the value of this measure should be zero.

Gossip messages pending

Indicates the rate at which gossip messages were pending to be transferred to this node during the last measurement period.

Messages/sec

A sudden/gradual increase in the value of this measure is a cause of concern. This indicates that the data in the joining node is not up to date with the data available in the target database node.

Timeouts

Indicates the rate at which messages timed out while being transferred to this node during the last measurement period.

Timeouts/sec

A low value is desired for this measure. A sudden/steady increase in the value of this measure reveals that the messages were not transferred to the joining node successfully and the joining node does not contain all the data that needs to be transferred from the target database nodde.