top for Apache ZooKeeper
Python
Switch branches/tags
Nothing to show
Permalink
Failed to load latest commit information.
.gitignore initial attempt at top for ZooKeeper Nov 5, 2009
LICENSE.txt added license file Nov 11, 2009
README.textile Add support python2.6 Dec 14, 2016
zktop.py Add support python2.6 Dec 14, 2016

README.textile

ZooKeeper top

Author: Patrick Hunt (follow me on twitter)

Summary

This project provides a unix “top” like utility for ZooKeeper. It is compatible with Python2.6, Python2.7 and Python3.

Example

Running:

./zktop.py --servers "localhost:2181,localhost:2182,localhost:2183"

or – omitting the port numbers, defaulting to 2181 -

./zktop.py --servers "server1,server2,server3"

or, for a ZK-style configuration file:

./zktop.py --config zk.conf

shows a screen like:

Ensemble -- nodecount:10 zxid:0x1300000001 sessions:4

SERVER           PORT M      OUTST    RECVD     SENT CONNS MINLAT AVGLAT MAXLAT
localhost        2181 F          0       93       92     2      2      7     13
localhost        2182 F          0       37       36     1      0      0      0
localhost        2183 L          0       36       35     1      0      0      0

CLIENT           PORT I   QUEUE RECVD  SENT
127.0.0.1       34705 1       0    56    56
127.0.0.1       35943 1       0     1     0
127.0.0.1       33999 1       0     1     0
127.0.0.1       37988 1       0     1     0

What’s Apache ZooKeeper?

From the official site: “ZooKeeper is a high-performance coordination service for distributed applications.”

It exposes common services – such as naming, configuration management, synchronization, and group services – in a simple interface so you don’t have to write them from scratch. You can use it off-the-shelf to implement consensus, group management, leader election, and presence protocols.

zktop.py

0) Top line is overall cluster status
1-n) Lines 1-n are for the n servers
n+1 and below are for client connections

Usage

Usage: zktop.py [options]

Options:
  -h, --help            show this help message and exit
  --servers=SERVERS     comma separated list of host:port (default
                        localhost:2181)
  -n, --names           resolve session name from ip (default False)
  --fix_330             workaround for a bug in ZK 3.3.0
  -v VERBOSITY, --verbosity=VERBOSITY
                        log level verbosity (DEBUG, INFO, WARN(ING), ERROR, CRITICAL/FATAL))
  -l LOGFILE, --logfile=LOGFILE
                        directory in which to place log file, or empty for
                        none
  -c CONFIGFILE, --config=CONFIGFILE
                        zookeeper configuration file to lookup servers from

—fix_330 works around a bug in ZooKeeper 3.3.0, it is only necessary if running the server against that version of ZooKeeper.

The screen refreshes every 3 seconds.

  • ‘h’ help
  • ‘q’ quits
  • ‘r’ resets the server stats
  • spacebar updates immediately

License

This project is licensed under the Apache License Version 2.0