Zookeeper Client Connections Test

In a distributed application cluster, clients are the nodes that access information from the Zookeeper servers grouped within a Zookeeper ensemble. At frequent intervals, every client sends a message to the server to let the sever know that the client is alive. Likewise, the server too sends an acknowledgement when a client connects. If there is no response from the connected server, the client automatically redirects the message to another server. If the clients are overloaded with requests or if the client takes too long to connect to the target Apache zookeeper, the requests could not be processed swiftly leading to time delays. To avoid such time delays and to ensure that the requests are processed faster, it is essential to keep track on the clients connecting to the target Apache Zookeeper. The Zookeeper Client Connections test helps administrators in this regard!

Using this test, administrators can determine the packet transmission and reception of each client connected to the target Apache Zookeeper server. This test also helps administrators determine which client is taking too long to process the requests and the client on which too many connections are currently active. This way, the test provides near-accurate indicators of the client connection load on the target Apache Zookeeper server. Also, by reporting the count of requests that are in queue for each client, the test reveals early to administrators if a client is experiencing request processing difficulties.

Target of the test : Apache Zookeeper server

Agent deploying the test : An internal/remote agent

Outputs of the test : One set of results for each client connecting to 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.

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Packets sent

Indicates the rate at which packets were transmitted to this client during the last measurement period.

Packets/sec

Compare the value of this measure across clients to figure out the client to which maximum number of packets are transmitted per second.

Packets received

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

Packets/sec

Compare the value of this measure across clients to figure out the client that received the maximum number of packets per second.

Outstanding requests

Indicates the number of requests that were queued upon receipt from this client.

Number

 

Average latency

Indicates the average time taken to process the requests received from this client.

Milliseconds

 

Minimum latency

Indicates the minimum time taken to process the requests received from this client.

Milliseconds

 

Maximum latency

Indicates the maximum time taken to process the requests received from this client.

Milliseconds

Compare the value of this measure across clients to figure out the client whose requests are taking too long to be processed by the server.

Open connections

Indicates the number of connections that are currently open for this client.

Number

 

Connection usage

Indicates the percentage of connections that are currently active for this client.

Percent

A high value for this measure indicates that the client is using the maximum amount of allocated connections.

Maximum connections

Indicates the maximum number of connections that are allowed for this client.

Number