Skip to content

calestyo/zktop

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

PyPi

zktop is now installable from PyPi

pip install zktop

License

This project is licensed under the Apache License Version 2.0

About

top for Apache ZooKeeper

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%