Manage your Redis Clusters in a web GUI
Commit a cluster migration from a HTML form
Display cluster nodes in a tidy table
RedisCtl is a set of Python toolkit with a web UI based on Flask that makes it easy to manage Redis and clusters.
Overview
RedisCtl contains
- a web UI that displays Redis status and receives commands
- a daemon that polls each Redis and collect info and runs tasks like slots migrating for clusters
And support thirdparty utilities including
- Alarm: issue messages when Redis / proxy unreachable or cluster is down
- Statistic: record information link memory / CPU usage, clients count, commands completed, etc; by default OpenFalcon is included in the source (require an extra
pip install requests
to work with OpenFalcon module) - Containerization: deploy Redis / proxy in container
You could make your own overridings by implementing several interfaces. (in Chinese).
Setup
First, install Python-dev header files and libs
# debain / ubuntu
apt-get install python-dev
# centos
yum install python-devel
Then clone this project and cd in to install dependencies
pip install -r requirements.txt
Run with all configurations default
python main.py
To configure the programs, both configuration source file and environment variables (convenient for docker deployment) are applicable
To use a configure file, copy override_config.py.example
to override_config.py
, change anything you want. This file would be imported and override any default config or env vars in config.py
if available.
To use env vars, like
MYSQL_USERNAME=redisctl MYSQL_PASSWORD=p@55w0rd python main.py
Check config.py
for configurable items.
Run the daemon that collects Redis info
python daemon.py
Also you could use similar ways to configure daemon, just like setup up the main server.
IPC
The server and daemon uses /tmp/details.json
and /tmp/poll.json
as default IPC files. You could change the directory for those temp files by passing the same PERMDIR
environ to the web application and the daemon.