Zookeeper Status Test

This test monitors the current state and the packet transmission and reception of the target Apache Zookeeper server. This test helps administrators figure out the number of znodes, followers, watches of the znodes, synchronized followers etc connected to the target Apache Zookeeper server. Using this test, administrators can figure out the file descriptors that are currently open. This way, administrators can figure out the responsiveness of the server.

Target of the test : Apache Zookeeper

Agent deploying the test : An internal/remote agent

Outputs of the test : One set of results for the target Apache Zookeeper server being monitored.

Configurable parameters for the test
Parameter Description

Test period

How often should the test be executed

Host

The IP address of the host for which this test is to be configured.

Port

The port at which the target Apache Zookeeper server listens to.

AdminServer PortNo

By default, the eG agent executes REST APIs with a small set of four letter word commands on the target server to collect the required metrics. The AdminServer is an embedded Jetty server that provides an HTTP interface to the four letter word commands. In order to execute the REST APIs and collect the metrics, the eG agent should be configured with the port on which the AdminServer was started on the target Apache Zookeeper. By default, this is set to 8080.

Measurements made by the test
Measurement Description Measurement Unit Interpretation

Status

Indicates the current state of the Apache Zookeeper server.

 

The values reported by this measure and its numeric equivalents are mentioned in the table below:

State Numeric Value
STANDALONE 0
LEADER 1
FOLLOWER 2

Note:

By default, this measure reports the Measure Values listed in the table above to indicate the current state of the server. The graph of this measure however, represents the state of the server using the numeric equivalents only.

Packets sent

Indicates the rate at which packets were transmitted through the server during the last measurement period.

Packets/sec

 

Packets received

Indicates the rate at which packets were received by the server during the last measurement period.

Packets/sec

 

Open file descriptors

Indicates the number of file descriptors that are currently open.

Number

A file descriptor is a number that uniquely identifies an open file in a computer's operating system. It describes a data resource, and how that resource may be accessed.

A low value is desired for this measure.

Open file descriptor usage

Indicates the percentage of file descriptors that are currently open.

Percent

 

Maximum file descriptors

Indicates the maximum number of file descriptors that can be opened concurrently.

Number

 

Data size

Indicates the amount of data available on the data tree of the server.

Bytes

 

Znodes

Indicates the number of znodes in the Zookeeper namespace/ensemble.

Number

 

Ephermal nodes

Indicates the number of ephemeral nodes on the server.

Number

Ephemeral znodes are active until the client is alive. When a client gets disconnected from the ZooKeeper ensemble, then the ephemeral znodes get deleted automatically. For this reason, only ephemeral znodes are not allowed to have a children further. If an ephemeral znode is deleted, then the next suitable node will fill its position. Ephemeral znodes play an important role in Leader election.

Watch count

Indicates the number of watches on the Znodes of the server.

Number

Watches are a simple mechanism for the client to get notifications about the changes in the ZooKeeper ensemble. Clients can set watches while reading a particular znode. Watches send a notification to the registered client for any of the znode (on which client registers) changes.

Znode changes are modification of data associated with the znode or changes in the znode’s children. Watches are triggered only once. If a client wants a notification again, it must be done through another read operation. When a connection session is expired, the client will be disconnected from the server and the associated watches are also removed.

Followers

Indicates the number of followers in a Zookeeper ensemble.

Number

Followers receive write requests from the clients and forward them to the leader znode.

Zynced followers

Indicates the number of synchronized followers.

Number

 

Pending syncs

Indicates the number of synchronization operations that are pending on the server.

Number

This measure is applicable only if the target Apache Zookeeper server is a leader in a Zookeeper ensemble.