缓存数据库 Redis 版不仅支持展示单个代理(Proxy)节点或数据(Server)节点的监控指标,还支持对代理节点或数据节点中的某些监控指标进行聚合展示。本文介绍监控告警支持的指标项及相关说明。
云监控默认按照 30s 的时间粒度聚合数据,但会根据查看监控数据时选择的查询时间范围,将获取的数据根据不同的周期和方式进行聚合展示,具体规则请参见查看云产品监控数据。
当前最多支持查看最近 15 天内的监控数据详情。查看监控数据的方法,请参见查看监控数据。
代理节点的监控指标和数据节点中的部分常规监控指标支持聚合展示,各监控指标项的聚合方式,请参见监控指标表中聚合方式的详细说明。
监控指标表中的单位均为基础单位,各监控的具体单位请以控制台为准。控制台上展示的单位会根据监控数值按照一定的换算标准灵活调整。
单位类型 | 包含的具体单位 | 换算标准说明 |
---|---|---|
容量相关单位 |
| Redis 监控指标的容量相关单位支持如下两种换算标准:
|
数量相关单位 |
| 按照 SI 标准,将 1000 作为词头进行单位换算,换算时会在基础单位前增加 K(Kilo,即 1000)、M(Mega,即 1000000)、G(Giga,即 1000000000)等词头。 |
时间相关单位 | µs | 按照国际单位制进行换算,例如微秒(µs)、毫秒(ms)、秒(s)、分(min)、小时(h)等。 |
其它单位 | % | 不涉及单位换算。 |
部分监控指标(如已使用连接数和连接数使用率等)为旧版本实例所支持的监控指标,新版本实例已使用优化后的新指标(如峰值已使用连接数和峰值连接数使用率等),建议您尽快提交工单升级实例版本,以获得更好的监控告警体验。版本升级后,新版本实例将不再展示旧版本实例中的相关监控指标。
在采集最大请求响应延迟或 P99请求响应延迟的监控指标数据时,不会将 Block 类命令的响应时延或请求耗时计算在内。Block 类命令包含下表中的所有命令。
命令族 | 具体命令 |
---|---|
List | BLPOP、BRPOP、BRPOPLPUSH |
Sorted Set | BZPOPMIN、BZPOPMAX |
Stream | XREAD、XREADGROUP |
Redis 实例中各类监控指标的详细说明见下表。
说明
您可以调用 GetMetricData 接口查询 Redis 社区版实例的各监控指标数据。调用该接口进行查询时,需要获取如下监控指标的相关信息:
Namespace
:要查询的监控指标所属的产品空间。VCM_Redis
。SubNamespace
:要查询的指标所属的维度。proxy
(代理节点)、aggregated_proxy
(聚合代理节点)、server
(数据节点)和 aggregated_server
(聚合数据节点)4 个维度的指标。MetricName
:要查询的监控指标名称。MetricName
详情,请参见缓存数据库 Redis 社区版监控指标查询。指标名称 | MetricName(API 使用) | 单位 | 换算标准 | 限制或说明 | 聚合方式 |
---|---|---|---|---|---|
CPU 使用率 | AggregatedCpuUtil | % | 不涉及 | Proxy 节点的 CPU 使用率。 | 所有节点的数据平均值。 |
总 QPS | AggregatedTotalQps | Count/s | SI(1000) | Proxy 节点上的总 QPS。 说明 Redis 实例的总 QPS 不仅包括了客户端发送至 Proxy 节点上的读写操作,还包含了客户端发送的其他操作,例如 AUTH、INFO、SELECT 等操作,都会被记录在总 QPS 中。 | 所有节点的数据总和。 |
读 QPS | AggregatedReadQps | Count/s | SI(1000) | Proxy 节点上的读 QPS。 | 所有节点的数据总和。 |
写 QPS | AggregatedWriteQps | Count/s | SI(1000) | Proxy 节点上的写 QPS。 | 所有节点的数据总和。 |
已使用连接数 | AggregatedUsedConn | Count | SI(1000) | 已连接到 Proxy 节点的客户端连接数。 | 所有节点的数据总和。 |
连接数使用率 | AggregatedConnUtil | % | 不涉及 | 已使用连接数与实例支持的总连接数比值。 | 所有节点的数据平均值。 |
峰值已使用连接数 | AggregatedPeakUsedConn | Count | SI(1000) | 每秒连接到 Proxy 节点的客户端连接数峰值。 | 所有节点的数据总和。 |
峰值连接数使用率 | 不支持通过 API 消费监控数据 | % | 不涉及 | 峰值已使用连接数与实例支持总连接数的比值。 | 所有节点的数据总和。 |
网络峰值输入速率 | AggregatedNetworkPeakReceiveThroughput | B/s | SI(1000) | 每秒流入 Proxy 节点的网络峰值流量。 | 所有节点的数据总和。 |
网络峰值输出速率 | AggregatedNetworkPeakTransmitThroughput | B/s | SI(1000) | 每秒流出 Proxy 节点的网络峰值流量。 | 所有节点的数据总和。 |
最大请求响应延迟 | AggregatedMaxQueryLatency | μs | 按国际单位制换算 | Proxy 节点执行命令时 Server 节点响应的时延最大值。 | 所有节点的数据最大值。 |
单个响应的最大字节数 | AggregatedResponseMaxBytes | B | SI(1000) | Proxy 节点上单个响应的最大字节数。 | 所有节点的数据最大值。 |
P99 请求响应延迟 | AggregatedP99QueryLatency | μs | 按国际单位制换算 | 将 Proxy 节点到 Server 节点的所有请求耗时从低到高排列,处于 99% 位置的请求耗时。 | 所有节点的数据最大值。 |
平均请求响应延迟 | AggregatedAvgQueryLatency | μs | 按国际单位制换算 | Proxy 执行命令时 Server 端响应的时延平均值。 | 所有节点的数据平均值。 |
指标名称 | MetricName(API 使用) | 单位 | 换算标准 | 限制或说明 | 聚合方式 |
---|---|---|---|---|---|
CPU 使用率 | AggregatedCpuUtil | % | 不涉及 | Server 节点的 CPU 使用率。 | 所有节点的数据平均值。 |
内存使用率 | AggregatedMemUtil | % | 不涉及 | Server 节点的内存使用率。 | 所有节点的数据平均值。 |
已使用内存 | AggregatedUsedMem | B | IEC(1024) | Server 节点上已使用的内存大小。 | 所有节点的数据总和。 |
Key 总数 | AggregatedTotalKey | Count | SI(1000) | Server 节点上存储的 Key 总数。 | 所有 Master 节点的数据总和。 |
每秒过期 Key 数量 | AggregatedExpiredKeyPerSec | Count/s | SI(1000) | Server 节点上每秒过期的 Key 数量。 | 所有 Master 节点的数据总和。 |
历史累计过期 Key 总数 | AggregatedTotalExpiredKey | Count | SI(1000) | Server 节点启动后的所有过期 Key 总数。 | 所有 Master 节点的数据总和。 |
每秒逐出 Key 数量 | AggregatedEvictedKeyPerSec | Count/s | SI(1000) | Server 节点上每秒逐出的 Key 数量。 | 所有 Master 节点的数据总和。 |
历史累计逐出 Key 总数 | AggregatedTotalEvictedKey | Count | SI(1000) | Server 节点启动后的所有逐出 Key 数量。 | 所有 Master 节点的数据总和。 |
已设置过期时间的 Key 数量 | AggregatedKeyWithExpiration | Count | SI(1000) | Server 节点启动后所有已设置过期时间的 Key 总数。 | 所有 Master 节点的数据总和。 |
Key 命中率 | AggregatedKeyHitRate | % | 不涉及 | Server 节点上读取 Key 时命中的比率。 | 所有 Master 节点的平均值。 |
每秒命中 Key 数量 | AggregatedKeyHitPerSec | Count/s | SI(1000) | Server 节点上每秒命中的 Key 数量。 | 所有 Master 节点的数据总和。 |
每秒未命中 Key 数量 | AggregatedKeyMissPerSec | Count/s | SI(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 中。 |
读 QPS | ReadQps | Count/s | SI(1000) | Proxy 节点上的读 QPS。 |
写 QPS | WriteQps | Count/s | SI(1000) | Proxy 节点上的写 QPS。 |
已使用连接数 | UsedConn | Count | SI(1000) | 已连接到 Proxy 节点的客户端连接数。 |
连接数使用率 | ConnUtil | % | 不涉及 | 已使用连接数与实例支持的总连接数比值。 |
峰值已使用连接数 | PeakUsedConn | Count | SI(1000) | 每秒连接到 Proxy 节点的客户端连接数峰值。 |
峰值连接数使用率 | PeakConnUtil | % | 不涉及 | 峰值已使用连接数与实例支持总连接数的比值。 |
网络峰值输入速率 | NetworkPeakReceiveThroughput | B/s | SI(1000) | 每秒流入 Proxy 节点的网络峰值流量。 |
网络峰值输出速率 | 不支持通过 API 消费监控数据 | B/s | SI(1000) | 每秒流出 Proxy 节点的网络峰值流量。 |
最大请求响应延迟 | MaxQueryLatency | μs | 按国际单位制换算 | Proxy 节点执行命令时 Server 节点响应的时延最大值。 |
单个响应的最大字节数 | ResponseMaxBytes | B | SI(1000) | Proxy 节点上单个响应的最大字节数。 |
P99 请求响应延迟 | P99QueryLatency | μs | 按国际单位制换算 | 将 Proxy 节点到 Server 节点的所有请求耗时从低到高排列,处于 99% 位置的请求耗时。 |
平均请求响应延迟 | AvgQueryLatency | μs | 按国际单位制换算 | Proxy 执行命令时 Server 端响应的时延平均值。 |
每秒新建连接数 | NewConnReceivedPerSec | Count/s | SI(1000) | 每秒新建连接到 Proxy 节点的客户端连接数。 |
指标名称 | MetricName(API 使用) | 单位 | 换算标准 | 限制或说明 |
---|---|---|---|---|
CPU 使用率 | CpuUtil | % | 不涉及 | Server 节点的 CPU 使用率。 |
内存使用率 | MemUtil | % | 不涉及 | Server 节点的内存使用率。 |
已使用内存 | UsedMem | B | IEC(1024) | Server 节点上已使用的内存大小。 |
Key 总数 | TotalKey | Count | SI(1000) | Server 节点上存储的 Key 总数量。 |
每秒过期 Key 数量 | ExpiredKeyPerSec | Count/s | SI(1000) | Server 节点上每秒过期的 Key 数量。 |
历史累计过期 Key 总数 | TotalExpiredKey | Count | SI(1000) | Server 节点启动后的所有过期 Key 数量。 |
每秒逐出 Key 数量 | EvictedKeyPerSec | Count/s | SI(1000) | Server 节点上每秒逐出的 Key 数量。 |
历史累计逐出 Key 总数 | TotalEvictedKey | Count | SI(1000) | Server 节点启动后的所有逐出 Key 总数。 |
已设置过期时间的 Key 数量 | KeyWithExpiration | Count | SI(1000) | Server 节点启动后所有已设置过期时间的 Key 总数。 |
Key 命中率 | KeyHitRate | % | 不涉及 | Server 节点上读取 Key 时命中的比率。 |
每秒命中 Key 数量 | KeyHitPerSec | Count/s | SI(1000) | Server 节点上每秒命中的 Key 数量。 |
每秒未命中 Key 数量 | KeyMissPerSec | Count/s | SI(1000) | Server 节点上每秒未命中的 Key 数量。 |
平均执行耗时 | AvgExecutionTime | μs | 按国际单位制换算 | Server 节点执行请求命令的平均耗时。 |
是否为主节点 | IsPrimary | 无 | 不涉及 | 当前 Server 节点是否为主节点,取值如下:
|
Lua 脚本使用内存 | 不支持通过 API 消费监控数据 | B | IEC(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 相关监控指标的采集对象不同,其中:
当您向 Redis 实例中发送某条命令请求时,在代理节点和数据节点的单个命令监控页签下,关于该命令的 QPS 分布监控指标值可能会不一样,甚至部分情况下代理节点和数据节点所展示的命令也不同。具体原因请参见下表说明。
说明
更多关于 Redis 多 key 命令的相关信息,请参见多 Key 命令限制。
场景分类 | 说明 | 命令请求转发示意图 | |
---|---|---|---|
同一命令请求,在代理节点和数据节点的单个命令监控页签下展示的 QPS 监控指标值不同 | 代理节点的 QPS 数值大于数据节点 | 部分命令(如 | |
代理节点的 QPS 数值等于数据节点 | 在如下情况中,代理节点的 QPS 数值会等于数据节点:
|
| |
代理节点的 QPS 数值小于数据节点 | 部分支持跨 slot 的多 key 命令,从代理节点转发至数据节点时会可能会被拆分成多条命令分别发往 key 所在的数据节点。 | ||
同一命令请求,在代理节点和数据节点的单个命令监控页签下展示的命令不同 | 部分支持跨 slot 的多 key 命令,从代理节点转发至数据节点时会可能会被改写。 |
Q:为什么监控指标中,实例的读 QPS 与写 QPS 之和不等于总 QPS?
A:因为 Redis 实例的总 QPS 不仅包括了客户端发送至 Proxy 节点上的读写操作,还包含了客户端发送的其他操作,例如 AUTH、INFO、SELECT 等操作,都会被记录在总 QPS 中。