redis-observability

作者: redis

Redis 可觀測性指南 — 應監控哪些指標(記憶體、連線數、命中率、每秒操作數、被拒絕的連線數)、應使用哪些內建指令…

npx skills add https://github.com/redis/agent-skills --skill redis-observability

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.

MetricWhat it tells youAlert when
used_memoryCurrent memory usage> 80% of maxmemory
connected_clientsOpen connectionsSudden spikes or drops
blocked_clientsClients waiting on blocking ops> 0 sustained
instantaneous_ops_per_secCurrent throughputSignificant drops
keyspace_hits / keyspace_missesCache hit ratioHit ratio < 80%
rejected_connectionsHit maxclients cap> 0
rdb_last_save_timeLast persistence snapshotToo 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%}")

See references/metrics.md.

2. Built-in commands for debugging

Reach for these when something looks off.

TopicCommand
Slow commandsSLOWLOG GET 10 / SLOWLOG LEN / SLOWLOG RESET
Server snapshotINFO all (or INFO memory / INFO stats / INFO clients / INFO replication)
Memory diagnosticsMEMORY DOCTOR / MEMORY STATS / MEMORY USAGE <key>
ConnectionsCLIENT LIST / CLIENT INFO
RQE / SearchFT.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.
for entry in redis.slowlog_get(10):
    print(f"{entry['duration']}μs  {entry['command']}")

See references/commands.md.

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