Cassanova is a web-based Cassandra compatible monitoring and operations tool.
Built with Python using the FastAPI framework,
it aims to provide real-time cluster introspection,
interactive CQL tools and diagnostic utilities.
- Cluster Topology Graph Visualization
- Keyspace & Schema Exploration and Graph Visualization
- Interactive CQL Terminal with History
- Basic Table Operations
- Nodetool Status Visualization
- Diagnostic Tools (sstabledump, cassandra-stress, nodetool, etc.)
- Read-Only Settings Page
To run Cassanova using Docker:
docker pull poortuna/cassanova:v1.1.5Create a cassanova.json configuration file. Example:
{
"app_config": {
"host": "0.0.0.0",
"port": 8080,
"routers": ["cassanova_ui_router", "cassanova_api_router"]
},
"monitoring_url": "https://localhost:8080",
"clusters": {
"orencluster": {
"contact_points": [
"localhost"
]
}
}
}Save this as cassanova.json in your current directory.
docker run -p 8080:8080 -e CASSANOVA_CONFIG_PATH=/config/cassanova.json -v $(pwd)/cassanova.json:/config/cassanova.json poortuna/cassanova:v1.1.5Make sure Cassandra is accessible from within the container, and your
contact_pointsin the config file point to a resolvable address (e.g.,host.docker.internalon macOS/Windows).
Open http://localhost:8080 in your browser.
Cassanova is configured using a single JSON file and a required environment variable:
CASSANOVA_CONFIG_PATHmust point to a valid JSON config file
Please check the reference json configuration file for further details.
Cassanova uses a Pydantic-powered configuration system and requires a valid path to your config file.
This is injected via:
export CASSANOVA_CONFIG_PATH=/path/to/cassanova.jsonEnvironment variable support and .env files will be added in the future.
To run locally:
- Please Note that you should run Cassanova in a unix based environment or some features (like the tools page) won't function properly
git clone https://github.com/poortuna/cassanova
cd cassanova
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
export CASSANOVA_CONFIG_PATH=./cassanova.json
python -m cassanova.runFeel free to improve/suggest new features!
Cassanova is open source, licensed under the MIT License.