Online Training
Q4 2024

Nov 19 to Dec 10

11.00 AM EST: USA, UK, Canada, Mexico and Europe

06.00 AM GMT: MiddleEast, Asia and Australia

Register Now

ZooKeeper Monitoring

Monitor various attributes with our extensive out-of-the-box plugins support to see the data you need.

Start 30-day free trial Try now, sign up in 30 seconds

Apache ZooKeeper is a distributed hierarchical key-value store, which is used to provide a distributed configuration service, synchronization service, and naming registry for large distributed systems. Install and use our ZooKeeper monitoring tool and get detailed insights into system activity and health.

This document details how to configure the ZooKeeper plugin and the monitoring metrics for providing in-depth visibility into the performance, availability, and usage stats of ZooKeeper servers.

ZooKeeper performance monitoring metrics:

The Various out-of-the-box metrics we support are:

Status

"imok" metric denotes the current status of your ZooKeeper system. To put it in another way, the metric checks whether the system is running error free or not.

Outstanding requests

"zk_outstanding_requests" metric counts and records the total number of outstanding requests in your ZooKeeper enabled system.

Average latency

The average delay before transfer of data begins following a requests for its transfer from the system is recorded using the metric "latency_avg".

Minimum session timeout

Use the metric "minsessiontimeout" and get the the minimum session timeout in milliseconds that the server will allow the client to negotiate.

Maximum connections

Use the metric "maxclientcnxns" and get the total number of concurrent connections that a single client, identified by IP address, may make to a single member of the ZooKeeper system.

Maximum session timeout

The metric "maxsessiontimeout" lists the maximum session timeout in milliseconds that the server will allow the client to negotiate.

Connections

The metric "connections" lists total number of connection/session details for all clients connected to the ZooKeeper server.

Packets sent

The metric "zk_packets_sent" lists the total number of packets sent from the ZooKeeper system.

Packets recieved

The metric "zk_packets_recieved" lists the total number of packets recieved by the ZooKeeper system.

How it works?

  • Log-in to your Site24x7 account. Sign up here if you don't have one.
  • Download and install the latest version of Site24x7 Linux Agent
  • Install the ZooKeeper plugin
  • The agent will execute the ZooKeeper plugin and push the data to the Site24x7 server

Prerequisites:

  • This is a Python based plugin and will support Python version 2.7 and greater

ZooKeeper plugin installation:

  • Create a directory with the name "zookeeper", under the Site24x7 Linux Agent's plugin directory - /opt/site24x7/monagent/plugins/
  • Download the file "zookeeper.py" from our GitHub repository and place it under the "zookeeper" directory
  • Commands to perform the above step:
    cd /opt/site24x7/monagent/plugins/
    mkdir zookeeper
    cd zookeeper
    wget https://raw.githubusercontent.com/site24x7/plugins/master/zookeeper/zookeeper.py
  • Once the plugin file is downloaded, the agent will mark it up in the next data collection and you can view it in Site24x7 client

Zookeeper plugin configuration:

  • By default, the plugin will monitor Zookeeper instance that is configured on "localhost"
  • The default python path given in the plugin script is #!/usr/bin/python. If you wish to provide an alternate python path, replace the existing one preceded by the shebang character "#!".
  • In order to change the monitoring configuration, go to plugins directory and edit the "#Config Section:" in zookeeper.py file

    ZooKeeper plugin file location - /opt/site24x7agent/monagent/plugins/zookeeper/zookeeper.py

    #Config Section:
    ZOOKEEPER_HOST='127.0.0.1'
    ZOOKEEPER_PORT=2181

Monitoring additional metrics:

  • To monitor additional metrics, edit the "zookeeper.py" file and add the new metrics that need monitoring
  • Increment the plugin version value in the file "zookeeper.py" to view the newly added metrics ( For e.g. change the default plugin version from PLUGIN_VERSION = "1" to "PLUGIN_VERSION = "2")

Related plugins:

  • Elasticsearch plugin - Monitor performance metrics of your Elasticsearch systems
  • SendGrid plugin - Monitor performance metrics of your SendGrid servers
  • HAProxy plugin - Analyze performance of your HAProxy server
  • Nagios plugin - Execute thousands of Nagios plugins in Site24x7 without the need of running a Nagios server
  • Out-of-the-box plugins - Monitor your entire app stack with our extensive list of integrations
  • Create custom plugins - Create custom Linux and Windows plugins and monitor custom attributes