StackState-Cassandra Nodetool Integration

Overview

This check collects metrics for your Cassandra cluster that are not available through jmx integration. It uses the nodetool utility to collect them.

Setup

Installation

This check is packaged with the Agent, so simply install the agent.

Configuration

Create a file cassandra_nodetool.yaml in the Agent’s conf.d directory:

init_config:
  # command or path to nodetool (e.g. /usr/bin/nodetool or docker exec container nodetool)
  # can be overwritten on an instance
  # nodetool: /usr/bin/nodetool

instances:

  # the list of keyspaces to monitor
  - keyspaces: []

  # host that nodetool will connect to.
  # host: localhost

  # the port JMX is listening to for connections.
  # port: 7199

  # a set of credentials to connect to the host. These are the credentials for the JMX server.
  # For the check to work, this user must have a read/write access so that nodetool can execute the `status` command
  # username:
  # password:

  # a list of additionnal tags to be sent with the metrics
  # tags: []

Validation

When you run stackstate-agent info you should see something like the following:

Checks
======

    cassandra_nodetool
    -----------
      - instance #0 [OK]
      - Collected 39 metrics, 0 events & 7 service checks

Compatibility

The cassandra_nodetool check is compatible with all major platforms

Data Collected

Metrics

cassandra.nodetool.status.replication_availability
(gauge)
Percentage of data available per keyspace times replication factor
shown as percent
cassandra.nodetool.status.replication_factor
(gauge)
Replication factor per keyspace
shown as
cassandra.nodetool.status.status
(gauge)
Node status: up (1) or down (0)
shown as
cassandra.nodetool.status.owns
(gauge)
Percentage of the data owned by the node per datacenter times the replication factor
shown as percent
cassandra.nodetool.status.load
(gauge)
Amount of file system data under the cassandra data directory without snapshot content
shown as byte

Events

The Cassandra_nodetool check does not include any event at this time.

Service Checks

cassandra.nodetool.node_up: The agent sends this service check for each node of the monitored cluster. Returns CRITICAL if the node is down, otherwise OK.