Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

84 lines (52 sloc) 2.617 kb
Tools and Recipes for ZooKeeper Monitoring
UPDATE: This repository have been committed [1] to the ZooKeeper trunk as a contrib. You can find it under src/contrib/monitoring. Please use the ZooKeeper JIRA [2] to submit issues and feature requests. It's going to be a part of the upcoming 3.4.0 release. Thanks.
How To Monitor
A ZooKeeper cluster can be monitored in two ways:
1. by using the 'mntr' 4letterword command
2. by using JMX to query the MBeans
This repo contains tools and recipes for monitoring ZooKeeper using the first method.
Check the file JMX-RESOURCE for some links to resources that could help you monitor a ZooKeeper cluster using the JMX interface.
ZooKeeper 3.4.0 or later or you can apply ZOOKEEPER-744 patch over the latest 3.3.x release.
The server should understand the 'mntr' 4letterword command.
$ echo 'mntr' | nc localhost 2181
zk_version 3.4.0--1, built on 06/19/2010 15:07 GMT
zk_avg_latency 141
zk_max_latency 1788
zk_min_latency 0
zk_packets_received 385466
zk_packets_sent 435364
zk_outstanding_requests 0
zk_server_state follower
zk_znode_count 5
zk_watch_count 0
zk_ephemerals_count 0
zk_approximate_data_size 41
zk_open_file_descriptor_count 20
zk_max_file_descriptor_count 1024
Python 2.6 (maybe it works on previous version but it's not tested yet).
In a nutshell
All you need is It has no external dependencies.
*** On Nagios call the script like this:
./ -o nagios -s "<server-or-list-of-servers>" -k <key> -w <warning> -c <critical>
*** On Cacti define a custom data input method using the script like this:
./ -o cacti -s "<list-of-servers>" -k <key> --leader
-- outputs a single value for the given key fetched from the cluster leader
./ -o cacti -s "<list-of-servers>" -k <key>
-- outputs multiple values on for each cluster node
ex: localhost_2182:0 localhost_2183:0 localhost_2181:0 localhost_2184:0 localhost_2185:0
*** On Ganglia:
install the plugin found in the ganglia/ subfolder OR
./ -o ganglia -s "<current-zookeeper-node>"
it will use gmetric to send zookeeper node status data.
Check the subfolders for configuration details and samples for each platform.
ZooKeeper 4letterwords Commands
Jump to Line
Something went wrong with that request. Please try again.