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:
"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.
"zk_outstanding_requests" metric counts and records the total number of outstanding requests in your ZooKeeper enabled system.
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.
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.
The metric "connections" lists total number of connection/session details for all clients connected to the ZooKeeper server.
The metric "zk_packets_sent" lists the total number of packets sent from the ZooKeeper system.
The metric "zk_packets_recieved" lists the total number of packets recieved by the ZooKeeper system.
- 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 zookeepercd zookeeperwget 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")
- 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