云数据库 Redis® 版实例提供完整透明的监控服务,新版本(支持5秒监控粒度)监控提供了包括 Proxy 节点监控、Redis 节点监控和实例监控汇总,详情如下:
Proxy 节点监控:云数据库 Redis® 标准架构和集群架构都包含 Proxy,监控服务提供实例所有 Proxy 节点的监控信息。
Redis 节点监控:Redis 节点包含了 Redis 主节点和副本节点的监控信息。
实例监控:实例监控汇总了整个实例的监控数据,包括 Proxy 节点和 Redis 节点的监控数据,通过 SUM、AVG、MAX、LAST 等聚合算法聚合而成。
查看实例监控粒度
通过 Redis 控制台 查看:单击实例 ID 进入实例管理页面,选择系统监控 > 监控指标页面。Redis 目前支持5秒、1分钟、5分钟、1小时、1天的粒度的指标监控,各粒度监控数据保留时长请参见 使用约束。
通过 API 接口 DescribeInstances 返回的字段 InstanceSet.MonitorVersion 判断:MonitorVersion = 5s,表示为5秒粒度;MonitorVersion = 1m,表示为1分钟粒度。
查看监控数据
您可以通过 Redis 实例列表、Redis 系统监控页面、腾讯云可观测平台控制台分别查看云数据库 Redis® 的监控信息。
通过实例列表快速查看监控数据
1. 登录 Redis 控制台。
2. 在右侧实例列表页面上方,选择地域。
3. 在实例列表中,找到目标实例。
4. 在目标实例所在行,单击监控/状态/任务列中的
,即可在右侧面板快速查看监控数据。通过系统监控页面查看监控数据
1. 登录 Redis 控制台。
2. 在右侧实例列表页面上方,选择地域。
3. 在实例列表中,找到目标实例。
4. 单击蓝色字体的实例 ID,进入实例详情页面,单击系统监控页签,再选择监控指标页签,查看监控数据。
通过腾讯云可观测平台查看监控数据
监控指标说明
Proxy 节点监控
每个 Redis 实例包含了至少3个 Proxy 节点,通常 Proxy 节点数是 Redis 节点数量的1.5倍,Proxy 节点提供以下监控信息。
分组 | 指标 | 指标名称 | 单位 | 指标说明 |
CPU | CPU 使用率 | cpu_util | % | Proxy CPU 使用率 |
请求 | 总请求 | proxy_commands | 次/秒 | Proxy 执行的命令数 |
| Key 请求数 | cmd_key_count | 个/秒 | 命令访问的 Key 个数 |
| Mget 请求数 | cmd_mget | 次/秒 | Mget 命令执行次数 |
| 执行错误 | cmd_err | 次/秒 | Proxy 命令执行错误的次数,例如,命令不存在、参数错误等情况 |
| 大 Value 请求 | cmd_big_value | 次/秒 | 请求命令大小超过32KB的执行次数 |
网络监控 | 连接数量 | connections | 个 | 连接到实例的 TCP 连接数量 |
| 连接使用率 | connections_util | % | 实际 TCP 连接数量和最大连接数占比 |
| 节点最大连接数使用率 |
connections_max_util | % |
所有 Proxy 节点中,取各节点的连接数占比(节点当前连接数量/节点最大连接数)的最大值
|
| 入流量 | in_flow | Mb/s | 每秒流入数据库的流量 |
| 入流量使用率 | in_bandwidth_util | % | 内网入流量实际使用和最大带宽的占比 |
| 入流量限流触发 | in_flow_limit | 次 | 入流量超过最大带宽的次数 |
| 出流量 | out_flow | Mb/s | 每秒流出数据库的流量 |
| 出流量使用率 | out_bandwidth_util | % | 出流量实际使用和最大带宽的占比 |
| 出流量限流触发 | out_flow_limit | 次 | 出流量超过最大带宽的次数 |
时延监控 | 平均执行时延 | latency_avg | ms | Proxy 到 Redis Server 的执行时延平均值 |
| 最大执行时延 | latency_max | ms | Proxy 到 Redis Server 的执行时延最大值 |
| 读平均时延 | latency_read | ms | Proxy 到 Redis Server 的读命令平均执行时延,读命令分类,请参见 命令分类 |
| 写平均时延 | latency_write | ms | Proxy 到 Redis Server 的写命令平均执行时延,写命令分类,请参见 命令分类 |
| 其他命令平均时延 | latency_other | ms | Proxy 到 Redis Server 的读写命令之外的命令平均执行时延 |
Redis 节点监控
Redis 节点监控提供整个实例/集群所有主节点和从节点的监控信息,提供以下监控指标:
分组 | 指标 | 指标名称 | 单位 | 指标说明 |
CPU 监控 | CPU 使用率 | cpu_util | % | 平均 CPU 使用率 |
网络 | 连接数量 | connections | 个 | Proxy 连接到节点的连接数 |
| 连接使用率 | connections_util | % | 节点连接数使用率 |
内存监控 | 内存使用量 | mem_used | MB | 实际使用内存容量,包含数据和缓存部分 |
| 内存使用率 | mem_util | % | 实际使用内存和申请总内存之比 |
| 内存倾斜率 | mem_slope_util | % | 统计每个分片主节点的内存使用量与所有分片主节点内存占用的平均值的比值 说明: 监控指标大于100%,说明该节点存在倾斜。 |
| Key 总个数 | keys | 个 | 实例存储的总 Key 个数(一级 Key) |
| key 过期数 | expired | 个 | 时间窗内被淘汰的 Key 个数,对应 info 命令输出的 expired_keys |
| key 驱逐数 | evicted | 个 | 时间窗内被驱逐的 Key 个数,对应 info 命令输出的 evicted_keys |
| Key 设置过期时间数 | expires |
个
| 实例中设置过期时间的 Key 数量(一级 Key) |
| 复制延迟 | repl_delay | Byte | 副本节点的相对主节点命令延迟长度 |
请求监控 | 总请求 | commands | 次/秒 | QPS,命令执行次数 |
| 读请求 | cmd_read | 次/秒 | 读命令执行次数,读命令分类,请参见 命令分类 |
| 写请求 | cmd_write | 次/秒 | 写命令执行次数,写命令分类,请参见 命令分类 |
| 其他请求 | cmd_other | 次/秒 | 读写命令之外的命令执行次数 |
| 总请求倾斜率 | qps_slope_util | % | 统计每个分片主节点请求数量与所有分片主节点所有请求量的平均值的比值 说明: 如果开启副本只读,统计将包含副本只读节点读请求的数量,即计算每个分片主节点的请求数量及其副本读请求数量的平均值,再统计每个分片或副本读节点与平均值的比值。 监控指标大于100%,说明该节点存在倾斜。 |
响应监控 | 慢查询 | cmd_slow | 次 | 执行时延大于 slowlog-log-slower-than 配置的命令请求次数 |
| 读请求命中 | cmd_hits | 次 | 读请求 Key 存在的个数,对应 info 命令输出的 keyspace_hits 指标 |
| 读请求 Miss | cmd_miss | 次 | 读请求 Key 不存在的个数,对应 info 命令输出的 keyspace_misses 指标 |
| 读请求命中率 | cmd_hits_ratio | % | Key 命中 \\ (Key命中 + KeyMiss),该指标可以反映 Cache Miss 的情况 |
Redis 实例监控
实例监控汇总了整个实例的监控数据,Proxy 节点和 Redis 节点的监控数据,通过 SUM、AVG、MAX、LAST 等聚合算法聚合而成。
分组 | 指标中文名 | 关联视图 | 指标英文名 | 单位 | 指标说明 |
CPU 监控 | CPU 使用率 | Redis 节点 | cpu_util | % | 平均 CPU 使用率 |
| 节点最大 CPU 使用率 | Redis 节点 | cpu_max_util | % | 实例中节点(分片或者副本)最大 CPU 使用率 |
内存监控 | 内存使用量 | Redis 节点 | mem_used | MB | 实际使用内存容量,包含数据和缓存部分 |
| 内存使用率 | Redis 节点 | mem_util | % | 实际使用内存和申请总内存之比 |
| 节点最大内存使用率 | Redis 节点 | mem_max_util | % | 实例中节点(分片或者副本)最大内存使用率 |
| Key 总个数 | Redis 节点 | keys | 个 | 实例存储的总 Key 个数(一级 Key) |
| Key 过期数 | Redis 节点 | expired | 个 | 时间窗内被淘汰的 Key 个数,对应 info 命令输出的 expired_keys |
| Key 驱逐数 | Redis 节点 | evicted | 个 | 时间窗内被驱逐的 Key 个数,对应 info 命令输出的 evicted_keys |
| Key 设置过期时间数 | Redis 节点 | expires |
个
| 实例中设置过期时间的 Key 数量(一级 Key) |
网络监控 | 连接数量 | Proxy 节点 | connections | 个 | 连接到实例的 TCP 连接数量 |
| 连接使用率 | Proxy 节点 | connections_util | % | 实际 TCP 连接数量和最大连接数比 |
| 入流量 | Proxy 节点 | in_flow | Mb/s | 每秒流入数据库的流量 |
| 入流量使用率 | Proxy 节点 | in_bandwidth_util | % | 内网入流量实际使用和最大带宽的占比 |
| 入流量限流触发 | Proxy 节点 | in_flow_limit | 次 | 入流量超过最大带宽的次数 |
| 出流量 | Proxy 节点 | out_flow | Mb/s | 每秒流出数据库的流量 |
| 出流量使用率 | Proxy 节点 | out_bandwidth_util | % | 出流量实际使用和最大带宽的占比 |
| 出流量限流触发 | Proxy 节点 | out_flow_limit | 次 | 出流量超过最大带宽的次数 |
时延 | 平均执行时延 | Proxy 节点 | latency_avg | ms | Proxy 到 Redis Server 的执行时延平均值 |
| 最大执行时延 | Proxy 节点 | latency_max | ms | Proxy 到 Redis Server 的执行时延最大值 |
| 读平均时延 | Proxy 节点 | latency_read | ms | Proxy 到 Redis Server 的读命令平均执行时延,读命令分类,请参见 命令分类 |
| 写平均时延 | Proxy 节点 | latency_write | ms | Proxy 到 Redis Server 的写命令平均执行时延,写命令分类,请参见 命令分类 |
| 其他命令平均时延 | Proxy 节点 | latency_other | ms | Proxy 到 Redis Server 的读写命令之外的命令平均执行时延 |
| P99 时延 | Proxy 节点 | latency_p99 | ms | Proxy 到 Redis Server 的执行时延99%的水位线 |
请求监控 | 总请求 | Redis 节点 | commands | 次/秒 | QPS,命令执行次数 |
| 读请求 | Redis 节点 | cmd_read | 次/秒 | 读命令执行次数,读命令分类,请参见 命令分类 |
| 写请求 | Redis 节点 | cmd_write | 次/秒 | 写命令执行次数,写命令分类,请参见 命令分类 |
| 其他请求 | Redis 节点 | cmd_other | 次/秒 | 读写命令之外的命令执行次数 |
| 大 Value 请求 | Proxy 节点 | cmd_big_value | 次/秒 | 请求命令大小超过32KB的执行次数 |
| Key 请求数 | Proxy 节点 | cmd_key_count | 秒 | 命令访问的 Key 个数 |
| Mget 请求数 | Proxy 节点 | cmd_mget | 个/秒 | Mget 命令执行次数 |
| 慢查询 | Redis 节点 | cmd_slow | 次 | 执行时延大于 slowlog - log - slower - than 配置的命令次数 |
| 读请求命中 | Redis 节点 | cmd_hits | 次 | 读请求 Key 存在的个数,对应 info 命令输出的 keyspace_hits 指标 |
| 读请求Miss | Redis 节点 | cmd_miss | 次 | 读请求 Key 不存在的个数,对应 info 命令输出的 keyspace_misses 指标 |
| 执行错误 | Proxy 节点 | cmd_err | 次 | 命令执行错误的次数,例如,命令不存在、参数错误等情况 |
| 读请求命中率 | Redis 节点 | cmd_hits_ratio | % | Key 命中 / (Key 命中 + KeyMiss),该指标可以反映 Cache Miss 的情况 |
命令分类
命令分类
命令分类 | 列表 |
读命令 | get,strlen,exists,getbit,getrange,substr,mget,llen,lindex,lrange,sismember,scard,srandmember, sinter,sunion,sdiff,smembers,sscan,zrange,zrangebyscore,zrevrangebyscore,zrangebylex, zrevrangebylex,zcount,zlexcount,zrevrange,zcard,zscore,zrank,zrevrank,zscan,hget,hmget, hlen,hstrlen,hkeys,hvals,hgetall,hexists,hscan,randomkey,keys,scan,dbsize,type,ttl,touch,pttl, dump,object,memory,bitcount,bitpos,georadius_ro,georadiusbymember_ro,geohash,geopos,geodist,pfcount |
写命令 | set,setnx,setex,psetex,append,del,unlink,setbit,bitfield,setrange,incr,decr,rpush,lpush,rpushx, lpushx,linsert,rpop,lpop,brpop,brpoplpush,blpop,lset,ltrim,lrem,rpoplpush,sadd,srem,smove,spop, sinterstore,sunionstore,sdiffstore,zadd,zincrby,zrem,zremrangebyscore,zremrangebyrank, zremrangebylex,zunionstore,zinterstore,hset,hsetnx,hmset,hincrby,hincrbyfloat,hdel,incrby,decrby, incrbyfloat,getset,mset,msetnx,swapdb,move,rename,renamenx,expire,expireat,pexpire,pexpireat, flushdb,flushall,sort,persist,restore,restore-asking,migrate,bitop,geoadd,georadius,georadiusbymember, pfadd,pfmerge,pfdebug |
查询节点信息
注意:
实例内部发生节点故障切换,或者是扩容、缩容、迁移等场景下,Proxy 和 Redis 的节点 ID 会发生变化,因此需要及时从 API 接口获取最新的节点信息。
相关 API
API 接口 | 接口含义 |
查询实例大 Key | |
查询实例大 Key 大小分布 | |
查询实例大 Key 类型分布 | |
查询实例热 Key | |
查询实例访问来源信息 | |
查询实例访问的耗时分布 | |
查询实例访问命令 | |
查询实例 CPU 耗时 |