Cassandra Toolkit
View on GitHub
A hand-curated and tested list of tools that we recommend for building, managing, and monitoring Cassandra clusters.
Find more tools from the open source community at www.cassandra.tools.
Maintained by Rahul Singh of Anant. Feel free contact me if you'd like to collaborate on this and other tools. Please take a look!
Tools
Tableanalyzer / cassandra.vision
- A python based cfstat data anlyzer with a future in being able to visualize other Cassandra / Distributed platform stats.
- Tablesnap is a script that uses inotify to monitor a directory for IN_MOVED_TO events and reacts to them by spawning a new thread to upload that file to Amazon S3, along with a JSON-formatted list of what other files were in the directory at the time of the copy.
- To install and configure tablesnap follow Install tablesnap for AWS S3 backups section in dseauto/ansible/cassandra/README.md document.
- Prometheus exporter for hardware and OS metrics exposed by *NIX kernels, written in Go with pluggable metric collectors.
- To install and configure node_exporter follow Install node_exporter for exporting node metrics to prometheus server section in dseauto/ansible/cassandra/README.md document.
- Reaper is an open source tool that aims to schedule and orchestrate repairs of Apache Cassandra clusters.
- It improves the existing nodetool repair process by
- Splitting repair jobs into smaller tunable segments.
- Handling back-pressure through monitoring running repairs and pending compactions.
- Adding ability to pause or cancel repairs and track progress precisely.
Credits
- Rahul Singh - Concept, Curator, Creator of tableanalyzer
- Sean Bogaard - Concept, Advisor, Curator
- Ion Olaru - Testing, Documentation of 3rd Party Tools
Eventually we want compatability for the following items:
Platform | Receive | Transform |
---|---|---|
DSE 4.8.x | Diagnostic Tarball | Y |
DSE 4.8.x/C* 2.1.x | Nodetool | Y |
DSE 4.8.x/C* 2.1.x | SSH | Y |
DSE 5.1.x | Diagnostic Tarball | Y |
DSE 5.1.x/C* 3.1.x | Nodetool | Y |
DSE 5.1.x/C* 3.1.x | SSH | Y |
DSE 6.7.x | Diagnostic Tarball | Y |
DSE 6.7.x/C* 4.0.x | Nodetool | Y |
DSE 6.7.x/C* 4.0.x | SSH | Y |
Scylla? | Tarball | Y |
Elassandra? | Tarball | Y |
YugaByte? | Tarball | Y |
CosmosDB? | Tarball | Y |
AWS MCS? | Tarball | Y |
Resources
Backup
- https://cassandra-backup-and-restore-aws-ebs
- https://8kmiles.com/blog/cassandra-backup-and-restore-methods/
- https://github.com/JeremyGrosser/tablesnap
- https://devops.com/things-know-planning-cassandra-backup
- http://cassandra-and-backups
- https://www.linkedin.com/pulse/snap-cassandra-s3-tablesnap-vijaya-kumar-hosamani/
- hthttp://datos.io/2017/02/02/choose-right-backup-solution-cassandra/
Cluster Management
Snapshot strategy (future changes)
- Take / keep a snapshot every 30 min for the latest 3 hours;
- Keep a snapshot every 6 hours for the last day, delete other snapshots;
- Keep a snapshot every day for the last month, delete other snapshots;