以分片为单位的拓扑视图
CLUSTER SHARDS 是 Redis 7.0 新增的命令,它以「分片」为单位返回集群拓扑:先给出该分片的槽区间,再列出这个分片下的节点,以及每个节点的地址、角色与健康状况。相比返回嵌套数组的槽查询结果,它的结构对自动化脚本更友好,适合做拓扑采集、监控打标与可视化展示。
基本信息
| 引入版本 | Redis 7.0 |
|---|---|
| 返回内容 | 每个分片的槽区间与节点列表 |
| 节点信息 | 地址、端口、角色、健康状况 |
| 主要用途 | 监控采集、拓扑可视化、自动化对账 |
| 兼容性 | 低版本执行会报未知子命令 |
典型使用场景
- 监控系统定期采集拓扑,为每个分片建立独立的告警标签
- 自建管理平台展示分片与副本关系,替代人工解析节点列表
- 演练或变更后快速核对分片组成是否符合预期
- 排查某个分片缺少副本或副本状态异常的情况
- 编排脚本在低版本环境先探测能力再选择命令
使用示例
使用示例
redis-cli -p 7000 CLUSTER SHARDS # 以分片为单位查看拓扑
redis-cli -p 7000 CLUSTER INFO | grep cluster_state # 集群整体状态
redis-cli -p 7000 CLUSTER NODES | wc -l # 节点总数对照
redis-cli -p 7000 INFO server | grep redis_version # 采集前先确认版本是否支持输出信息怎么读
| 信息项 | 含义 | 异常表现 |
|---|---|---|
| 槽区间 | 该分片负责的槽范围 | 区间缺口或重叠说明拓扑异常 |
| 节点列表 | 分片下的主节点与副本 | 只有主节点说明缺少副本 |
| 角色标记 | 节点是主还是从 | 副本被误标为主需要人工核对 |
| 健康状态 | 该节点自身的健康标识 | 单节点异常不等于整分片不可用 |
低版本实例执行该命令会报未知子命令,采集脚本最好先探测版本再决定用哪种输出,避免升级前后采集中断。
健康字段反映的是节点自身的视角,结合其他节点的观测一起判断更可靠,单点结论可能受局部网络影响。