Debug hot shard issues in AWS ElastiCache (Redis/Valkey) clusters with a beautiful web UI
Project description
ElastiCache Hot Shard Debugger
Debug hot shard issues in AWS ElastiCache (Redis/Valkey) clusters with a beautiful web interface.
Quick Start
# Install
pip install elasticache-monitor
# Run
elasticache-monitor
Open http://localhost:8099 and start monitoring!
Features
- 🌐 Web Interface — Modern UI with real-time updates
- ⏱️ Live Monitoring — Countdown timer, per-shard status
- 📊 Interactive Charts — Click to filter, right-click to hide
- 🔍 Analysis — Sortable tables for keys, patterns, shards, commands
- 🔄 Compare Jobs — Side-by-side comparison of 2-4 sessions
- 💾 SQL Queries — Built-in editor with quick query templates
Usage
1. Start the Server
elasticache-monitor # Default port 8099
elasticache-monitor --port 3000 # Custom port
2. Create a Monitoring Job
- Enter your Replication Group ID
- Enter your Redis/Valkey password
- Set duration (30-300 seconds)
- Click Start Monitoring
3. View Results
- Dashboard — Real-time command counts, shard status
- Charts — Command distribution, key patterns
- Analysis — Deep dive into keys and patterns
- Compare — Compare multiple monitoring sessions
Requirements
- Python 3.12+
- AWS credentials (for endpoint auto-discovery)
- Network access to ElastiCache cluster
Install
# Using uv (recommended)
uv pip install -e .
# Or pip
pip install -e .
Production Safety
⚠️ Always use replica endpoints for monitoring in production. The MONITOR command can impact performance on primary nodes.
The web UI defaults to replica endpoints.
AWS Permissions
{
"Effect": "Allow",
"Action": [
"elasticache:DescribeReplicationGroups",
"elasticache:DescribeCacheClusters"
],
"Resource": "*"
}
Documentation
| Document | Description |
|---|---|
| CLI Reference | Command-line tools (for scripting) |
| Database Schema | SQLite schema & example queries |
| Changelog | Version history |
CLI (Legacy)
For scripting and automation, CLI tools are still available:
elasticache-monitor-cli -c my-cluster -p PASSWORD -d 60
See docs/CLI.md for full reference.
Version: 2.0.0 · Python: 3.12+ · License: MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file elasticache_monitor-1.0.21.tar.gz.
File metadata
- Download URL: elasticache_monitor-1.0.21.tar.gz
- Upload date:
- Size: 169.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26da21cfb04bfdfea7c0be623f90606a6c4bd1a4c7fa9296d2d63ca76032b3e3
|
|
| MD5 |
5564727c0b3c27fc683b594e0980a3dd
|
|
| BLAKE2b-256 |
4541a262ae5060f955b153b857098bc3320cbd8db7328b7c9f30826da6463bad
|
Provenance
The following attestation bundles were made for elasticache_monitor-1.0.21.tar.gz:
Publisher:
release.yml on k4kratik/elasticache-hot-shard-debugger
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
elasticache_monitor-1.0.21.tar.gz -
Subject digest:
26da21cfb04bfdfea7c0be623f90606a6c4bd1a4c7fa9296d2d63ca76032b3e3 - Sigstore transparency entry: 796655075
- Sigstore integration time:
-
Permalink:
k4kratik/elasticache-hot-shard-debugger@768e21e00f5420ebf10cf5bd806de4f823f9b482 -
Branch / Tag:
refs/tags/v1.0.21 - Owner: https://github.com/k4kratik
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@768e21e00f5420ebf10cf5bd806de4f823f9b482 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file elasticache_monitor-1.0.21-py3-none-any.whl.
File metadata
- Download URL: elasticache_monitor-1.0.21-py3-none-any.whl
- Upload date:
- Size: 123.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75b5628d254210b0c880afafa641ca4cab3de29d7b238e8f240646ac5cd0c49b
|
|
| MD5 |
b9f0519e0ec3adac4c41c4480cf37732
|
|
| BLAKE2b-256 |
04678bf8322ba32e70106992cbebb5316a795e9f8699b4fd9d38714ea7999634
|
Provenance
The following attestation bundles were made for elasticache_monitor-1.0.21-py3-none-any.whl:
Publisher:
release.yml on k4kratik/elasticache-hot-shard-debugger
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
elasticache_monitor-1.0.21-py3-none-any.whl -
Subject digest:
75b5628d254210b0c880afafa641ca4cab3de29d7b238e8f240646ac5cd0c49b - Sigstore transparency entry: 796655091
- Sigstore integration time:
-
Permalink:
k4kratik/elasticache-hot-shard-debugger@768e21e00f5420ebf10cf5bd806de4f823f9b482 -
Branch / Tag:
refs/tags/v1.0.21 - Owner: https://github.com/k4kratik
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@768e21e00f5420ebf10cf5bd806de4f823f9b482 -
Trigger Event:
workflow_dispatch
-
Statement type: