Skip to content

JayGitH/zktop

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 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

Prereq:

Ensure zoo.cg on all nodes whitelists the minimum four letter words for zktop to work:

4lw.commands.whitelist=stat,srst 

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

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%