redis-observability
Redis observability guidance — which metrics to monitor (memory, connections, hit ratio, ops/sec, rejected connections), which built-in commands to reach for during incident triage (SLOWLOG, INFO, MEMORY DOCTOR, CLIENT LIST, FT.PROFILE), and when to use the Redis Insight GUI. Use
Install
npx skills add https://github.com/redis/agent-skills/tree/main/plugins/redis-development/skills/redis-observability
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install redis-agent-skills@llmmart
git clone https://github.com/redis/agent-skills.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole redis/agent-skills collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Redis Observability
What to watch, what to run, and what to alert on. Covers the metrics every Redis deployment should monitor and the built-in commands for ad-hoc diagnosis.
When to apply
- Setting up monitoring or alerts for a Redis instance.
- Diagnosing a Redis performance regression (high latency, memory pressure, connection storms).
- Profiling a slow
FT.SEARCHor pipeline. - Wiring Redis metrics into Prometheus, Datadog, CloudWatch, or similar.
1. Monitor these metrics
These come from INFO and should be exported to your monitoring system.
| Metric | What it tells you | Alert when |
|---|---|---|
used_memory |
Current memory usage | > 80% of maxmemory |
connected_clients |
Open connections | Sudden spikes or drops |
blocked_clients |
Clients waiting on blocking ops | > 0 sustained |
instantaneous_ops_per_sec |
Current throughput | Significant drops |
keyspace_hits / keyspace_misses |
Cache hit ratio | Hit ratio < 80% |
rejected_connections |
Hit maxclients cap |
> 0 |
rdb_last_save_time |
Last persistence snapshot | Too old vs. RPO |
info = redis.info()
hit_ratio = info["keyspace_hits"] / max(1, info["keyspace_hits"] + info["keyspace_misses"])
print(f"Memory: {info['used_memory_human']}")
print(f"Clients: {info['connected_clients']}")
print(f"Ops/sec: {info['instantaneous_ops_per_sec']}")
print(f"Hit ratio: {hit_ratio:.1%}")
2. Built-in commands for debugging
Reach for these when something looks off.
| Topic | Command |
|---|---|
| Slow commands | SLOWLOG GET 10 / SLOWLOG LEN / SLOWLOG RESET |
| Server snapshot | INFO all (or INFO memory / INFO stats / INFO clients / INFO replication) |
| Memory diagnostics | MEMORY DOCTOR / MEMORY STATS / MEMORY USAGE <key> |
| Connections | CLIENT LIST / CLIENT INFO |
| RQE / Search | FT.INFO <idx> / FT.PROFILE <idx> SEARCH QUERY "..." |
The two most useful for incident triage:
SLOWLOG GETto find queries that exceeded theslowlog-log-slower-thanthreshold (10ms by default). The output shows the exact command and duration in microseconds.MEMORY DOCTORfor memory pressure — it returns a one-paragraph summary of what's unusual about memory usage right now.
for entry in redis.slowlog_get(10):
print(f"{entry['duration']}μs {entry['command']}")
3. Redis Insight
For interactive use (running queries, browsing keys, profiling indexes), Redis Insight is the official GUI. It surfaces the same SLOWLOG / INFO / FT.PROFILE data visually and includes Redis Copilot for natural-language queries. Useful during development and incident response; not a replacement for exporting metrics to your monitoring system.
References
Files (agent-skills)
-
references
-
commands.md 853 B
# Use Observability Commands for Debugging Redis provides built-in commands for monitoring and debugging. **Key commands:** ``` # Slow query log - find slow commands SLOWLOG GET 10 SLOWLOG LEN SLOWLOG RESET # Server info - comprehensive stats INFO all INFO memory INFO stats INFO replication INFO clients # Memory analysis MEMORY DOCTOR MEMORY STATS MEMORY USAGE mykey # Client connections CLIENT LIST CLIENT INFO # Index info (RQE) FT.INFO idx:products FT.PROFILE idx:products SEARCH QUERY "@name:laptop" ``` **Correct:** Check SLOWLOG regularly. ```python # Get recent slow queries slow_queries = redis.slowlog_get(10) for query in slow_queries: print(f"Duration: {query['duration']}μs, Command: {query['command']}") ``` Reference: [Redis Monitoring](https://redis.io/docs/latest/operate/oss_and_stack/management/optimization/latency/) -
metrics.md 1.2 KB
# Monitor Key Redis Metrics Track these metrics to catch issues before they impact users. | Metric | What It Tells You | Alert When | |--------|-------------------|------------| | `used_memory` | Current memory usage | > 80% of maxmemory | | `connected_clients` | Number of connections | Sudden spikes or drops | | `blocked_clients` | Clients waiting on blocking ops | > 0 sustained | | `instantaneous_ops_per_sec` | Current throughput | Significant drops | | `keyspace_hits/misses` | Cache hit ratio | Hit ratio < 80% | | `rejected_connections` | Connection limit issues | > 0 | | `rdb_last_save_time` | Last persistence snapshot | Too old | **Correct:** Export metrics to your monitoring system. ```python # Get key metrics info = redis.info() print(f"Memory: {info['used_memory_human']}") print(f"Connections: {info['connected_clients']}") print(f"Ops/sec: {info['instantaneous_ops_per_sec']}") print(f"Hit ratio: {info['keyspace_hits'] / (info['keyspace_hits'] + info['keyspace_misses']) * 100:.1f}%") ``` **Redis Insight:** Use Redis Insight for visual monitoring, query profiling, and debugging. It includes Redis Copilot for natural language queries. Reference: [Redis Insight](https://redis.io/insight/)
-
-
SKILL.md 3.6 KB
--- name: redis-observability description: Redis observability guidance — which metrics to monitor (memory, connections, hit ratio, ops/sec, rejected connections), which built-in commands to reach for during incident triage (SLOWLOG, INFO, MEMORY DOCTOR, CLIENT LIST, FT.PROFILE), and when to use the Redis Insight GUI. Use when setting up monitoring or alerts for a Redis instance, diagnosing a performance regression, profiling a slow FT.SEARCH query, or wiring Redis metrics into Prometheus, Datadog, or similar. license: MIT metadata: author: Redis, Inc. version: "0.1.0" --- # Redis Observability What to watch, what to run, and what to alert on. Covers the metrics every Redis deployment should monitor and the built-in commands for ad-hoc diagnosis. ## When to apply - Setting up monitoring or alerts for a Redis instance. - Diagnosing a Redis performance regression (high latency, memory pressure, connection storms). - Profiling a slow `FT.SEARCH` or pipeline. - Wiring Redis metrics into Prometheus, Datadog, CloudWatch, or similar. ## 1. Monitor these metrics These come from `INFO` and should be exported to your monitoring system. | Metric | What it tells you | Alert when | |---|---|---| | `used_memory` | Current memory usage | > 80% of `maxmemory` | | `connected_clients` | Open connections | Sudden spikes or drops | | `blocked_clients` | Clients waiting on blocking ops | > 0 sustained | | `instantaneous_ops_per_sec` | Current throughput | Significant drops | | `keyspace_hits` / `keyspace_misses` | Cache hit ratio | Hit ratio < 80% | | `rejected_connections` | Hit `maxclients` cap | > 0 | | `rdb_last_save_time` | Last persistence snapshot | Too old vs. RPO | ```python info = redis.info() hit_ratio = info["keyspace_hits"] / max(1, info["keyspace_hits"] + info["keyspace_misses"]) print(f"Memory: {info['used_memory_human']}") print(f"Clients: {info['connected_clients']}") print(f"Ops/sec: {info['instantaneous_ops_per_sec']}") print(f"Hit ratio: {hit_ratio:.1%}") ``` See [references/metrics.md](references/metrics.md). ## 2. Built-in commands for debugging Reach for these when something looks off. | Topic | Command | |---|---| | Slow commands | `SLOWLOG GET 10` / `SLOWLOG LEN` / `SLOWLOG RESET` | | Server snapshot | `INFO all` (or `INFO memory` / `INFO stats` / `INFO clients` / `INFO replication`) | | Memory diagnostics | `MEMORY DOCTOR` / `MEMORY STATS` / `MEMORY USAGE <key>` | | Connections | `CLIENT LIST` / `CLIENT INFO` | | RQE / Search | `FT.INFO <idx>` / `FT.PROFILE <idx> SEARCH QUERY "..."` | The two most useful for incident triage: - **`SLOWLOG GET`** to find queries that exceeded the `slowlog-log-slower-than` threshold (10ms by default). The output shows the exact command and duration in microseconds. - **`MEMORY DOCTOR`** for memory pressure — it returns a one-paragraph summary of what's unusual about memory usage right now. ```python for entry in redis.slowlog_get(10): print(f"{entry['duration']}μs {entry['command']}") ``` See [references/commands.md](references/commands.md). ## 3. Redis Insight For interactive use (running queries, browsing keys, profiling indexes), [Redis Insight](https://redis.io/insight/) is the official GUI. It surfaces the same `SLOWLOG` / `INFO` / `FT.PROFILE` data visually and includes Redis Copilot for natural-language queries. Useful during development and incident response; not a replacement for exporting metrics to your monitoring system. ## References - [Redis: Latency monitoring](https://redis.io/docs/latest/operate/oss_and_stack/management/optimization/latency/) - [Redis Insight](https://redis.io/insight/)
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.