You need to enable JavaScript to run this app.
导航
监控指标说明
最近更新时间:2025.02.14 11:47:37首次发布时间:2021.11.04 17:58:55
我的收藏
有用
有用
无用
无用

缓存数据库 Redis 版不仅支持展示单个代理(Proxy)节点或数据(Server)节点的监控指标,还支持对代理节点或数据节点中的某些监控指标进行聚合展示。本文介绍监控告警支持的指标项及相关说明。

注意事项

  • 云监控默认按照 30s 的时间粒度聚合数据,但会根据查看监控数据时选择的查询时间范围,将获取的数据根据不同的周期和方式进行聚合展示,具体规则请参见查看云产品监控数据

  • 当前最多支持查看最近 15 天内的监控数据详情。查看监控数据的方法,请参见查看监控数据

  • 代理节点的监控指标和数据节点中的部分常规监控指标支持聚合展示,各监控指标项的聚合方式,请参见监控指标表中聚合方式的详细说明。

  • 监控指标表中的单位均为基础单位,各监控的具体单位请以控制台为准。控制台上展示的单位会根据监控数值按照一定的换算标准灵活调整。

    单位类型包含的具体单位换算标准说明

    容量相关单位

    • B
    • B/s

    Redis 监控指标的容量相关单位支持如下两种换算标准:

    • 按照 SI 标准,将 1000 作为词头进行单位换算,换算时会在基础单位前增加 K(Kilo,即 1000)、M(Mega,即 1000000)、G(Giga,即 1000000000)等词头。
      例如,单个响应的最大字节数的基础单位为 B(即 Byte),若单个响应的最大字节数的监控数值较大,控制台上的单位可能会调整为 KB、MB、GB 等。
    • 按照 IEC 标准,将 1024 作为词头进行单位换算。
      例如,已使用内存的基础单位为 B(即 Byte),若已使用内存的监控数值较大,控制台上的单位可能会调整为 KiB、MiB、GiB 等。

    数量相关单位

    • Count

    • Count/s

    按照 SI 标准,将 1000 作为词头进行单位换算,换算时会在基础单位前增加 K(Kilo,即 1000)、M(Mega,即 1000000)、G(Giga,即 1000000000)等词头。
    例如,峰值已使用连接数的基础单位为 Count,若峰值已使用连接数的监控数值较大,控制台上的单位可能会调整为 KCount、MCount、GCount 等。

    时间相关单位µs按照国际单位制进行换算,例如微秒(µs)、毫秒(ms)、秒(s)、分(min)、小时(h)等。
    其它单位%不涉及单位换算。
  • 部分监控指标(如已使用连接数连接数使用率等)为旧版本实例所支持的监控指标,新版本实例已使用优化后的新指标(如峰值已使用连接数峰值连接数使用率等),建议您尽快提交工单升级实例版本,以获得更好的监控告警体验。版本升级后,新版本实例将不再展示旧版本实例中的相关监控指标。

  • 在采集最大请求响应延迟P99请求响应延迟的监控指标数据时,不会将 Block 类命令的响应时延或请求耗时计算在内。Block 类命令包含下表中的所有命令。

    命令族具体命令
    ListBLPOP、BRPOP、BRPOPLPUSH
    Sorted SetBZPOPMIN、BZPOPMAX
    StreamXREAD、XREADGROUP

监控指标表

Redis 实例中各类监控指标的详细说明见下表。

说明

您可以调用 GetMetricData 接口查询 Redis 社区版实例的各监控指标数据。调用该接口进行查询时,需要获取如下监控指标的相关信息:

  • Namespace:要查询的监控指标所属的产品空间。
    缓存数据库 Redis 社区版的产品空间名称为 VCM_Redis
  • SubNamespace:要查询的指标所属的维度。
    缓存数据库 Redis 社区版支持查看 proxy(代理节点)、aggregated_proxy(聚合代理节点)、server(数据节点)和 aggregated_server(聚合数据节点)4 个维度的指标。
  • MetricName:要查询的监控指标名称。
    缓存数据库 Redis 社区版各监控指标对应的 MetricName 详情,请参见缓存数据库 Redis 社区版监控指标查询

聚合代理节点

指标名称MetricName(API 使用)单位换算标准限制或说明聚合方式
CPU 使用率AggregatedCpuUtil%不涉及Proxy 节点的 CPU 使用率。所有节点的数据平均值。

总 QPS

AggregatedTotalQps

Count/s

SI(1000)

Proxy 节点上的总 QPS。

说明

Redis 实例的总 QPS 不仅包括了客户端发送至 Proxy 节点上的读写操作,还包含了客户端发送的其他操作,例如 AUTH、INFO、SELECT 等操作,都会被记录在总 QPS 中。

所有节点的数据总和。

读 QPSAggregatedReadQpsCount/sSI(1000)Proxy 节点上的读 QPS。所有节点的数据总和。
写 QPSAggregatedWriteQpsCount/sSI(1000)Proxy 节点上的写 QPS。所有节点的数据总和。

已使用连接数
(仅旧版本实例支持)

AggregatedUsedConn

Count

SI(1000)

已连接到 Proxy 节点的客户端连接数。

所有节点的数据总和。

连接数使用率
(仅旧版本实例支持)

AggregatedConnUtil

%

不涉及

已使用连接数与实例支持的总连接数比值。

所有节点的数据平均值。

峰值已使用连接数
(仅新版本实例支持)

AggregatedPeakUsedConn

Count

SI(1000)

每秒连接到 Proxy 节点的客户端连接数峰值。

所有节点的数据总和。

峰值连接数使用率
(仅新版本实例支持)

不支持通过 API 消费监控数据

%

不涉及

峰值已使用连接数与实例支持总连接数的比值。

所有节点的数据总和。

网络峰值输入速率AggregatedNetworkPeakReceiveThroughputB/sSI(1000)每秒流入 Proxy 节点的网络峰值流量。所有节点的数据总和。
网络峰值输出速率AggregatedNetworkPeakTransmitThroughputB/sSI(1000)每秒流出 Proxy 节点的网络峰值流量。所有节点的数据总和。
最大请求响应延迟AggregatedMaxQueryLatencyμs按国际单位制换算Proxy 节点执行命令时 Server 节点响应的时延最大值。所有节点的数据最大值。
单个响应的最大字节数AggregatedResponseMaxBytesBSI(1000)Proxy 节点上单个响应的最大字节数。所有节点的数据最大值。
P99 请求响应延迟AggregatedP99QueryLatencyμs按国际单位制换算将 Proxy 节点到 Server 节点的所有请求耗时从低到高排列,处于 99% 位置的请求耗时。所有节点的数据最大值。
平均请求响应延迟AggregatedAvgQueryLatencyμs按国际单位制换算Proxy 执行命令时 Server 端响应的时延平均值。所有节点的数据平均值。

聚合数据节点

指标名称MetricName(API 使用)单位换算标准限制或说明聚合方式
CPU 使用率AggregatedCpuUtil%不涉及Server 节点的 CPU 使用率。所有节点的数据平均值。
内存使用率AggregatedMemUtil%不涉及Server 节点的内存使用率。所有节点的数据平均值。
已使用内存AggregatedUsedMemBIEC(1024)Server 节点上已使用的内存大小。所有节点的数据总和。
Key 总数AggregatedTotalKeyCountSI(1000)Server 节点上存储的 Key 总数。所有 Master 节点的数据总和。
每秒过期 Key 数量AggregatedExpiredKeyPerSecCount/sSI(1000)Server 节点上每秒过期的 Key 数量。所有 Master 节点的数据总和。
历史累计过期 Key 总数AggregatedTotalExpiredKeyCountSI(1000)Server 节点启动后的所有过期 Key 总数。所有 Master 节点的数据总和。
每秒逐出 Key 数量AggregatedEvictedKeyPerSecCount/sSI(1000)Server 节点上每秒逐出的 Key 数量。所有 Master 节点的数据总和。
历史累计逐出 Key 总数AggregatedTotalEvictedKeyCountSI(1000)Server 节点启动后的所有逐出 Key 数量。所有 Master 节点的数据总和。
已设置过期时间的 Key 数量AggregatedKeyWithExpirationCountSI(1000)Server 节点启动后所有已设置过期时间的 Key 总数。所有 Master 节点的数据总和。
Key 命中率AggregatedKeyHitRate%不涉及Server 节点上读取 Key 时命中的比率。所有 Master 节点的平均值。
每秒命中 Key 数量AggregatedKeyHitPerSecCount/sSI(1000)Server 节点上每秒命中的 Key 数量。所有 Master 节点的数据总和。
每秒未命中 Key 数量AggregatedKeyMissPerSecCount/sSI(1000)Server 节点上每秒未命中的 Key 数量。所有 Master 节点的数据总和。
平均执行耗时AggregatedAvgExecutionTimeμs按国际单位制换算Server 节点执行请求命令的平均耗时。所有节点的数据平均值。

网络峰值输入速率

AggregatedNetworkPeakReceiveThroughput

B/s

SI(1000)

每秒流入 Server 节点的网络峰值流量。

说明

某些场景下(如存在大 Key 写入),网络峰值输入速率的监控数值可能会超过实例当前的默认带宽。

所有节点的数据总和。

网络峰值输出速率

AggregatedNetworkPeakTransmitThroughput

B/s

SI(1000)

每秒流出 Server 节点的网络峰值流量。

说明

某些场景下(如存在大 Key 读取),网络峰值输出速率的监控数值可能会超过实例当前的默认带宽。

所有节点的数据总和。

代理节点

指标名称MetricName(API 使用)单位换算标准限制或说明
CPU 使用率CpuUtil%不涉及Proxy 节点的 CPU 使用率。

总 QPS

TotalQps

Count/s

SI(1000)

Proxy 节点上的总 QPS。

说明

Redis 实例的总 QPS 不仅包括了客户端发送至 Proxy 节点上的读写操作,还包含了客户端发送的其他操作,例如 AUTH、INFO、SELECT 等操作,都会被记录在总 QPS 中。

读 QPSReadQpsCount/sSI(1000)Proxy 节点上的读 QPS。
写 QPSWriteQpsCount/sSI(1000)Proxy 节点上的写 QPS。

已使用连接数
(仅旧版本实例支持)

UsedConn

Count

SI(1000)

已连接到 Proxy 节点的客户端连接数。

连接数使用率
(仅旧版本实例支持)

ConnUtil

%

不涉及

已使用连接数与实例支持的总连接数比值。

峰值已使用连接数
(仅新版本实例支持)

PeakUsedConn

Count

SI(1000)

每秒连接到 Proxy 节点的客户端连接数峰值。

峰值连接数使用率
(仅新版本实例支持)

PeakConnUtil

%

不涉及

峰值已使用连接数与实例支持总连接数的比值。

网络峰值输入速率NetworkPeakReceiveThroughputB/sSI(1000)每秒流入 Proxy 节点的网络峰值流量。
网络峰值输出速率不支持通过 API 消费监控数据B/sSI(1000)每秒流出 Proxy 节点的网络峰值流量。
最大请求响应延迟MaxQueryLatencyμs按国际单位制换算Proxy 节点执行命令时 Server 节点响应的时延最大值。
单个响应的最大字节数ResponseMaxBytesBSI(1000)Proxy 节点上单个响应的最大字节数。
P99 请求响应延迟P99QueryLatencyμs按国际单位制换算将 Proxy 节点到 Server 节点的所有请求耗时从低到高排列,处于 99% 位置的请求耗时。
平均请求响应延迟AvgQueryLatencyμs按国际单位制换算Proxy 执行命令时 Server 端响应的时延平均值。
每秒新建连接数NewConnReceivedPerSecCount/sSI(1000)每秒新建连接到 Proxy 节点的客户端连接数。

数据节点

指标名称MetricName(API 使用)单位换算标准限制或说明
CPU 使用率CpuUtil%不涉及Server 节点的 CPU 使用率。
内存使用率MemUtil%不涉及Server 节点的内存使用率。
已使用内存UsedMemBIEC(1024)Server 节点上已使用的内存大小。
Key 总数TotalKeyCountSI(1000)Server 节点上存储的 Key 总数量。
每秒过期 Key 数量ExpiredKeyPerSecCount/sSI(1000)Server 节点上每秒过期的 Key 数量。
历史累计过期 Key 总数TotalExpiredKeyCountSI(1000)Server 节点启动后的所有过期 Key 数量。
每秒逐出 Key 数量EvictedKeyPerSecCount/sSI(1000)Server 节点上每秒逐出的 Key 数量。
历史累计逐出 Key 总数TotalEvictedKeyCountSI(1000)Server 节点启动后的所有逐出 Key 总数。
已设置过期时间的 Key 数量KeyWithExpirationCountSI(1000)Server 节点启动后所有已设置过期时间的 Key 总数。
Key 命中率KeyHitRate%不涉及Server 节点上读取 Key 时命中的比率。
每秒命中 Key 数量KeyHitPerSecCount/sSI(1000)Server 节点上每秒命中的 Key 数量。
每秒未命中 Key 数量KeyMissPerSecCount/sSI(1000)Server 节点上每秒未命中的 Key 数量。
平均执行耗时AvgExecutionTimeμs按国际单位制换算Server 节点执行请求命令的平均耗时。

是否为主节点

IsPrimary

不涉及

当前 Server 节点是否为主节点,取值如下:

  • 0:不是主节点。
  • 1:是主节点。
Lua 脚本使用内存不支持通过 API 消费监控数据BIEC(1024)Server 节点执行的 Lua 脚本使用的内存。

网络输入带宽利用率
(仅新版本实例支持)

NetworkReceiveThroughputUtil

%

不涉及

每秒流入 Server 节点的峰值带宽利用率。

网络输出带宽利用率
(仅新版本实例支持)

NetworkTransmitThroughputUtil

%

不涉及

每秒流出 Server 节点的峰值带宽利用率。

网络峰值输入速率

NetworkPeakReceiveThroughput

B/s

SI(1000)

每秒流入 Server 节点的网络峰值流量。

说明

某些场景下(如存在大 Key 写入),网络峰值输入速率的监控数值可能会超过实例当前的默认带宽。

网络峰值输出速率

NetworkPeakTransmitThroughput

B/s

SI(1000)

每秒流出 Server 节点的网络峰值流量。

说明

某些场景下(如存在大 Key 读取),网络峰值输出速率的监控数值可能会超过实例当前的默认带宽。

常见问题

  • Q:我向 Redis 实例中发送了一条命令请求,但在代理节点和数据节点的单个命令监控中,关于该命令的 QPS 分布监控指标值为什么不一样?
    A:缓存数据库 Redis 版提供了代理节点和数据节点的 QPS 相关监控指标,两者的 QPS 相关监控指标的采集对象不同,其中:

    • 代理节点上的 QPS 相关监控指标采集了客户端发往代理节点(Proxy node)的命令请求数据。
    • 数据节点上的 QPS 相关监控指标采集了 Proxy 转发至数据节点(Server node)的命令请求数据。

    当您向 Redis 实例中发送某条命令请求时,在代理节点和数据节点的单个命令监控页签下,关于该命令的 QPS 分布监控指标值可能会不一样,甚至部分情况下代理节点和数据节点所展示的命令也不同。具体原因请参见下表说明。

    说明

    更多关于 Redis 多 key 命令的相关信息,请参见多 Key 命令限制

    场景分类说明命令请求转发示意图

    同一命令请求,在代理节点和数据节点的单个命令监控页签下展示的 QPS 监控指标值不同

    代理节点的 QPS 数值大于数据节点

    部分命令(如 PINGECHOTIME 等)发送到代理节点之后不会被转发至数据节点,代理节点会直接返回命令结果,那么该命令请求仅会被代理节点采集,而不会被数据节点采集,因此,代理节点上关于该命令请求的 QPS 数值会大于数据节点的数值。
    例如,您向 Redis 发送 PING 命令后,代理节点会直接返回 Pong,而不会将该命令请求转发至数据节点。

    alt

    代理节点的 QPS 数值等于数据节点

    在如下情况中,代理节点的 QPS 数值会等于数据节点:

    • 向 Redis 发送的了不需要跨 slot 的单 key 命令请求。
        例如,您向 Redis 发送了一条 INCR number_key1 命令请求,该命令请求会先从您的客户端发送到代理节点(即被代理节点采集),然后代理节点会将该命令发送至 key1 所在的数据节点(即被数据节点采集),此时代理节点上关于该命令请求的 QPS 数值会等于数据节点的数值。
    • 向 Redis 发送的了需要跨 slot 的多 key 命令请求,但在命令中通过 hash tag 来构造了相同 slot 的 key。
        例如,您向 Redis 发送了一条 RENAME {key}_1 {key}_2 (其中 key1key2 在不同的数据节点 1 和 2 上)的命令请求,该命令请求会先从您的客户端发送到代理节点(即被代理节点采集),然后代理节点会将该命令发送至 key2 所在的数据节点 2(即被数据节点 2 采集),此时代理节点上关于该命令请求的 QPS 数值会等于数据节点的数值。
    • 向 Redis 发送的了不需要跨 slot 的单 key 命令请求。
      alt
    • 向 Redis 发送的了需要跨 slot 的多 key 命令请求,但在命令中通过 hash tag 来构造了相同 slot 的 key。
      alt

    代理节点的 QPS 数值小于数据节点

    部分支持跨 slot 的多 key 命令,从代理节点转发至数据节点时会可能会被拆分成多条命令分别发往 key 所在的数据节点。
    例如,您向 Redis 发送了一条 MGET key1 key2 key3 命令,其中 key1 在数据节点 1, key2key3 均在数据节点 2。
    那么该命令请求会先从您的客户端发送到代理节点(即被代理节点采集),然后代理节点会将该命令拆分为 GET key1MGET key2 key3 两条命令并分别发往数据节点 1 和数据节点 2 (即被数据节点 1 和数据节点 2 分别采集),此时代理节点上关于该命令请求的 QPS 数值会小于数据节点的数值。

    alt

    同一命令请求,在代理节点和数据节点的单个命令监控页签下展示的命令不同

    部分支持跨 slot 的多 key 命令,从代理节点转发至数据节点时会可能会被改写。
    例如,您向 Redis 发送了一条 MGET key1 key2 命令,其中 key1 在数据节点 1, key2 在数据节点 2。
    那么该命令请求从客户端发送到代理节点后会被改写为 GET key1GET key2 两条命令,并分别发往数据节点 1 和数据节点 2。

    alt

  • Q:为什么监控指标中,实例的读 QPS 与写 QPS 之和不等于总 QPS?
    A:因为 Redis 实例的总 QPS 不仅包括了客户端发送至 Proxy 节点上的读写操作,还包含了客户端发送的其他操作,例如 AUTH、INFO、SELECT 等操作,都会被记录在总 QPS 中。