Author: Patrick Hunt (follow me on twitter)
This project uses Django and kazoo to provide a dashboard for a ZooKeeper ensemble (cluster).
- Cluster summary
- Individual server detail
- Client connection detail
- Navigate & examine the live znode hierarchy
This is a work in progress. Want more? Ping me on twitter or enter an issue on GitHub.
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.
Django and the kazoo are used to provide a dashboard for a ZooKeeper ensemble (cluster).
This project is licensed under the Apache License Version 2.0
- Django 1.5+
- kazoo 1.1+
Edit settings.xml. The top of the file has the ZOOKEEPER specific settings.
- ZOOKEEPER_SERVERS - host:port(,host:port)* of all servers in your cluster. This is the same information that you provide in your ZooKeeper client configuration.
Virtualenv is the easiest way to run the code. Create a local virtualenv directory and install the required packages
virtualenv venv
. venv/bin/activate
pip install -r requirements.txt
deactivate
then start the django server
. venv/bin/activate
./manage.py runserver
deactivate
Obviously the dashboard needs access to the serving cluster (it queries the server's client port per ZOOKEEPER_SERVERS configuration).
Finally open a link in your browser to the server: http://127.0.0.1:8000/
ZooKeeper client output is written to "cli_log.txt".
ACLs are not yet fully supported. In particular the django server runs as an un-authenticated user. If nodes are protected by ACLs the server will not be able to access them.
ACLs and child list not shown