Using JMX to read DSEFS metrics

DSEFS reports status and performance metrics through JMX in domain com.datastax.bdp:type=dsefs.

dse.yaml

The location of the dse.yaml file depends on the type of installation:
Package installations /etc/dse/dse.yaml
Tarball installations installation_location/resources/dse/conf/dse.yaml

DSEFS reports status and performance metrics through JMX in the domain com.datastax.bdp:type=dsefs. This page describes the classes exposed in JMX.

Location

Location metrics provide information about each DSEFS location status. There is one set of Location metrics for each DSEFS location. Every DataStax Enterprise (DSE) node knows about all locations, so connect to any node to get the full status of the cluster. The following gauges are defined:

directory
Path to the directory where DSEFS data is stored. This is a constant value configured in dse.yaml
estFreeSpace
Estimated amount of free space on the device where the storage directory is located, in bytes. This value is refreshed periodically, so if you need an up-to-date value, read the BlockStore.freeSpace metric.
estUsedSpace
Estimated amount of space used by the contents of the storage directory, in bytes. This value is refreshed periodically, so if you need an up-to-date value, read the BlockStore.usedSpace metric.
minFreeSpace
Amount of reserved space in bytes. Configured statically in dse.yaml.
privateAddress
IP and port of the endpoint for DSEFS internode communication.
publicAddress
IP and port of the endpoint for DSEFS clients.
readOnly
Returns true if the location is in read-only mode.
status
One of the following values: up, down, unavailable:
  • If the location is up, the location is fully operational and this node will attempt to read or write from it.
  • If the location is down, the location is on a node that has been gracefully shut down by the administrator and no reads or writes will be attempted.
  • If the location is unavailable, this node has problems communicating with that location, and the real status is unknown. This node will check the status periodically.
storageWeight
How much data relative to other locations will be stored in this location. This is a static value configured in dse.yaml

BlockStore

BlockStore metrics report how fast and how much data is being read/written by the data layer of the DSEFS node. They are reported only for the locations managed by the node to which you connect with JMX. In order to get metrics information for all the locations in the cluster, you need to indvidually connect to all nodes with DSEFS.

blocksDeleted
How many blocks are deleted, in blocks per second.
blocksRead
Read accesses in blocks per second.
blocksWritten
Writes in blocks per second.
bytesDeleted
How fast data is removed, in bytes per second.
bytesRead
How fast data is being read, in bytes per second.
bytesWritten
How fast data is written, in bytes per second.
readErrors
The total count and rate of read errors (rate in errors per second).
writeErrors
The total count and rate of write errors (rate in errors per second).
directory
The path to the storage directory of this location.
freeSpace
How much space is left on the device in bytes.
usedSpace
Estimated amount of space used by this location in bytes.

RestServer

RestServer reports metrics related to the communication layer of DSEFS, separately for internode traffic and clients. Each set of these metrics is identified by a scope of the form: listen address:listen port. By default port 5598 is used for clients, and port 5599 is for internode communication.

connectionCount
The current number of open inbound connections.
connectionRate
The total rate and count of connections since the server was started.
requestRate
The total rate and number of requests, respectively: all, DELETE, GET, POST, and PUT requests. Use deleteRate, getRate, postRate, or putRate to obtain requests of a specific type.
downloadBytesRate
Throughput in bytes per second of the transfer from server to client.
uploadBytesRate
Throughput in bytes per second of the transfer from client to server.
responseTime
The time that elapses from receiving the full request body to the moment the server starts sending out the response.
uploadTime
The time it takes to read the request body from the client.
downloadTime
The time that it takes to send the response body to the client.
errors
A counter which is increased every time the service handling the request throws an unexpected error. errors is not increased by errors handled by the service logic. For example, file not found errors do not increment errors.

CassandraClient

CassandraClient reports metrics related to the communication layer between DSEFS and the database.

responseTime
Tracks the response times of database queries.
errors
A counter increased by query execution errors (for example, timeout errors).