关于 redis-observability
redis-observability 是面向 Redis 运维与开发人员的监控和诊断指南,汇总需关注的指标、告警条件及内置排查命令。
主要功能
- 01整理 Redis 关键监控指标
- 02给出指标告警条件
- 03汇总内置诊断命令
- 04涵盖慢查询与内存排查
- 05介绍 Redis Insight 的交互式诊断
适用场景
- 01为 Redis 实例配置监控与告警
- 02排查延迟、内存或连接问题
- 03分析 FT.SEARCH 或管道性能
- 04将 Redis 指标接入监控系统
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ redis/ agent-skills --skill redis-observability安装后在 Claude Code 中输入/redis-observability确认已加载。
附带文件references/commands.mdreferences/metrics.md
详细介绍
Redis 可观测性
要监控什么、要运行什么,以及要对什么告警。涵盖每个 Redis 部署都应监控的指标,以及用于临时诊断的内置命令。
适用场景
- 为 Redis 实例设置监控或告警。
- 诊断 Redis 性能回退(高延迟、内存压力、连接风暴)。
- 分析缓慢的
FT.SEARCH或流水线。 - 将 Redis 指标接入 Prometheus、Datadog、CloudWatch 或类似系统。
1. 监控这些指标
这些指标来自 INFO,应导出到监控系统。
| 指标 | 含义 | 告警条件 |
|---|---|---|
used_memory | 当前内存用量 | > maxmemory 的 80% |
connected_clients | 开放的连接数 | 突增或骤降 |
blocked_clients | 等待阻塞操作的客户端数 | 持续 > 0 |
instantaneous_ops_per_sec | 当前吞吐量 | 显著下降 |
keyspace_hits / keyspace_misses | 缓存命中率 | 命中率 < 80% |
rejected_connections | 达到 maxclients 上限 | > 0 |
rdb_last_save_time | 上次持久化快照的时间 | 相对于 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. 用于调试的内置命令
发现异常时,可以使用这些命令。
| 主题 | 命令 |
|---|---|
| 慢命令 | SLOWLOG GET 10 / SLOWLOG LEN / SLOWLOG RESET |
| 服务器快照 | INFO all(或 INFO memory / INFO stats / INFO clients / INFO replication) |
| 内存诊断 | MEMORY DOCTOR / MEMORY STATS / MEMORY USAGE <key> |
| 连接 | CLIENT LIST / CLIENT INFO |
| RQE / Search | FT.INFO <idx> / FT.PROFILE <idx> SEARCH QUERY "..." |
事件排查时最有用的两个命令:
SLOWLOG GET:查找执行时间超过slowlog-log-slower-than阈值(默认 10ms)的查询。输出会显示确切的命令及其耗时(微秒)。MEMORY DOCTOR:用于排查内存压力,会用一段简短说明总结当前内存用量的异常之处。
for entry in redis.slowlog_get(10):
print(f"{entry['duration']}μs {entry['command']}")
3. Redis Insight
对于交互式使用(运行查询、浏览键、分析索引),Redis Insight 是官方 GUI。它会以可视化方式呈现相同的 SLOWLOG / INFO / FT.PROFILE 数据,并包含用于自然语言查询的 Redis Copilot。它适用于开发和事件响应,但不能替代将指标导出到监控系统。
参考资料
评论
支持 Markdown