A visual stat tool for CrateDB clusters
A visual stat tool for CrateDB clusters.
cstat requires Python >= 3.6 and can connect to CrateDB >= 2.3.
pip install cstat
If you want to get the latest features and fixes, you can also install it directly from Github.
pip install git+https://github.com/chaudum/crate-top.git@master
After installation you can monitor CrateDB running on localhost with default configuration by invoking the following command:
>>> cstat --user crate
A full list of command line arguments are listed when invoking cstat with the --help argument:
>>> cstat --help usage: cstat [-h] [--host HOST] [--port PORT] [--interval INTERVAL] [--user USER] [--version] A visual stat tool for CrateDB clusters optional arguments: -h, --help show this help message and exit --host HOST, --crate-host HOST CrateDB host to connect to --port PORT, --psql-port PORT PSQL port of CrateDB host --interval INTERVAL, --refresh-interval INTERVAL amount of time in seconds between each update --user USER, --db-user USER database user --version show program's version number and exit
By default cstat connects to localhost on port 5432 if not otherwise specified.
- 0 … toggle cluster info
- 1 … show utilization for CPU, process, memory, heap and disk
- 2 … show I/O statistics for network and disk
- 3 … show aggregated query duration based on jobs_log
- x … toggle nodes/aggregation view
- f3 … enable/disable job logging (this also sets the stats.jobs_log cluster setting)
- Small terminal sizes will raise CanvasErrors because of content overflow.
- [x] display disk usage
- [x] display disk i/o
- [x] display network i/o
- [x] display node names in detail views
- [x] use asyncio to perform http requests
- [x] coloring of i/o stats
- [ ] responsive i/o widget
Changelog for cstat
Released on 2018/06/01 with the following changes:
- Make cstat compatible with CrateDB version 2.3.0 and greater.
- Updated process CPU usage calculation to work with CrateDB 2.3 and newer.
- Updated disk usage and disk i/o calculation to work with CrateDB 2.3 and newer.
- Added -V (prompt for username) argument.
- Added --password and -W (prompt for password) arguments.
Released on 2017/11/14 with the following changes:
- Implemented asynchronous database access using aiopg which uses the Postgres Wire Protocol instead of the official CrateDB Python client which uses the HTTP protocol.
- Added median, percentile 95, and percentile 99 to query stats table view.
- Added --user/--db-user command line argument to support user authentication for clusters which run CrateDB 2.0 or greater.
- Changed the toggle key for enabling/disabling query stats from F1 to F3, because in the Terminator terminal the F1 key is reserved for “help”.
- Pre-calculate used and idle CPU in SQL statement to avoid rounding issues that can cause an display overflow in CPU widget.
Initial release on 2017/03/30:
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.