Scenario
You manage an e-commerce platform relying on Redis for caching, RabbitMQ for order messages, and Kafka for user behavior logs. One day, orders are delayed, pages load slowly, and logs pile up, affecting user experience.
Symptoms
- Redis: Cache hit rate drops sharply, response time spikes from 1ms to 100ms,
INFO statsshowsevicted_keyssurging. - RabbitMQ: Queue depth exceeds threshold,
rabbitmqctl list_queuesshows thousands ofmessages_ready, consumer connections drop. - Kafka: Consumer lag increases,
kafka-consumer-groups --describeshowsLAGgrowing, high disk I/O.
Diagnosis
Redis
- Check memory:
redis-cli INFO memoryforused_memoryandmaxmemory. - View slow queries:
SLOWLOG GET 100to analyze costly commands. - Verify connections:
CLIENT LISTfor exceedingmaxclients.
RabbitMQ
- Queues and connections:
rabbitmqctl list_queues name messages_ready messages_unacknowledged. - Node health:
rabbitmqctl statusforrunningandalarms. - Memory pressure:
rabbitmqctl reportformemoryusage.
Kafka
- Consumer lag:
kafka-consumer-groups --bootstrap-server localhost:9092 --group <group> --describe. - Partition replica status:
kafka-topics --describe --topic <topic> --bootstrap-server localhost:9092. - Disk usage:
df -hmonitoringlog.dirspartitions.
Commands
Redis
# Set maxmemory policy (recommend allkeys-lru for production)
redis-cli CONFIG SET maxmemory-policy allkeys-lru
# Limit connections
redis-cli CONFIG SET maxclients 5000
# Enable keyspace events
redis-cli CONFIG SET notify-keyspace-events KEA
RabbitMQ
# Increase queue max length to avoid memory overflow
rabbitmqctl set_policy DLQ ".*" '{"max-length":1000000}' --apply-to queues
# Enable lazy queues to reduce memory
rabbitmqctl set_policy LazyQueue ".*" '{"queue-mode":"lazy"}' --apply-to queues
# List consumers
rabbitmqctl list_consumers
Kafka
# Adjust log retention time to free disk
kafka-configs --bootstrap-server localhost:9092 --entity-type topics --entity-name <topic> --alter --add-config retention.ms=604800000
# Increase partitions for higher parallelism
kafka-topics --alter --topic <topic> --partitions 12 --bootstrap-server localhost:9092
Risk Controls
- Backup configurations before changes:
cp /etc/redis/redis.conf /etc/redis/redis.conf.bak. - RabbitMQ policy changes affect entire cluster; test in non-production first.
- Kafka partitions cannot be decreased; ensure downstream consumers support rebalancing before increasing.
Rollback
Redis
redis-cli CONFIG SET maxmemory-policy volatile-lru # revert to default
RabbitMQ
rabbitmqctl clear_policy DLQ # remove policy
Kafka
kafka-configs --bootstrap-server localhost:9092 --entity-type topics --entity-name <topic> --alter --delete-config retention.ms
Verification
- Redis: Run
redis-benchmark -q -n 1000to compare latency; checkINFO statsfor reducedevicted_keys. - RabbitMQ: Confirm queue depth drops and consumers reconnect:
rabbitmqctl list_queues name messages_ready. - Kafka: Monitor consumer LAG reaching zero; disk usage normalizing.
When to Submit a Ticket
- Problem persists after applying changes.
- OOM or disk full causing service unavailability.
- Need data migration or cluster reconfiguration (e.g., Kafka controller reelection).
- Suspect hardware or network issues.
OpsGlobal team provides 24/7 expert support, capable of remote diagnosis and complex recovery operations.
Use cases
Useful for teams handling NoSQL issues and needing a clear troubleshooting and delivery workflow.
Problem background
Learn how to diagnose and resolve common reliability issues with Redis, RabbitMQ, and Kafka. This guide covers real-world scenarios, symptoms, diagnostic commands, risk controls, rollback procedures, verification steps, and when to escalate to OpsGlobal.
Troubleshooting steps
Confirm impact and recent changes, collect logs, configuration and metrics, then apply fixes from low to high risk.
Command examples
Replace sample resource names with real values and store passwords, tokens and keys in environment variables.
Risks
Before production changes, confirm backups, access boundaries, change windows and rollback paths.
Rollback plan
Keep original configuration and release versions; roll back config, images or database changes if metrics degrade.
Deliverables
Root-cause notes, key commands, remediation steps, verification results and follow-up recommendations.
Need help with a similar technical issue?
If your servers, Kubernetes, Docker, CI/CD, databases or monitoring systems have similar issues, submit logs and config files for remote diagnosis.