本文包含此服务的所有监视参考信息。
指标
本部分列出了为此服务自动收集的所有平台指标。 这些指标也是 Azure Monitor 中支持的所有平台指标的全局列表的一部分。
有关指标保留的信息,请参阅 Azure Monitor 指标概述。
有关 Microsoft.Cache/redisEnterprise 支持的指标的详细信息和信息,请参阅以下部分。
Microsoft.Cache/redisEnterprise 支持的指标
下表列出了可用于 Microsoft.Cache/redisEnterprise 资源类型的指标。
表标题
- 指标 是该指标在 Azure 门户中的显示名称。
- Rest API 中的名称 - 在 REST API 中引用的指标名称。
- 单位 - 度量单位。
- 聚合 - 默认的聚合类型。 有效值:平均值、最小值、最大值、总计、计数。
- 维度 - 适用于指标的维度。
- 时间粒度 - 对指标采样的间隔。 例如,
PT1M表示该指标每分钟采样一次,PT30M表示每 30 分钟一次,PT1H表示每小时一次,以此类推。 - DS 导出 - 是否可通过诊断设置将指标导出到 Azure Monitor 日志。 要了解如何导出指标的信息,请参阅在 Azure Monitor 中创建诊断设置。
| 指标 | REST API 中的名称 | 单位 | 集合体 | 尺寸 | 时间粒度 | DS 导出 |
|---|---|---|---|---|---|---|
|
缓存命中数 成功的键查找的数目。 如需了解详情,请访问 https://aka.ms/redis/enterprise/metrics。 |
cachehits |
计数 | 总计(总和) | <无> | PT5M、PT1H | 是的 |
|
缓存延迟毫秒数(预览) 与缓存之间的延迟(微秒)。 如需了解详情,请访问 https://aka.ms/redis/enterprise/metrics。 |
cacheLatency |
计数 | 平均值 | InstanceId |
PT5M、PT1H | 是的 |
|
缓存未命中数 失败的键查找的数目。 如需了解详情,请访问 https://aka.ms/redis/enterprise/metrics。 |
cachemisses |
计数 | 总计(总和) | <无> | PT5M、PT1H | 是的 |
| 缓存读取量 从缓存中读取的数据量,以每秒兆字节数(MB/秒)为单位。 如需了解详情,请访问 https://aka.ms/redis/enterprise/metrics。 |
cacheRead |
每秒字节数 | 最大值 | InstanceId |
PT5M、PT1H | 是的 |
| 缓存写入量 写入缓存中的数据量,以每秒兆字节数(MB/秒)为单位。 如需了解详情,请访问 https://aka.ms/redis/enterprise/metrics。 |
cacheWrite |
每秒字节数 | 最大值 | InstanceId |
PT5M、PT1H | 是的 |
| 连接的客户端 到缓存的客户端连接数。 如需了解详情,请访问 https://aka.ms/redis/enterprise/metrics。 |
connectedclients |
计数 | 最大值 | InstanceId |
PT5M、PT1H | 是的 |
| 逐出的密钥数 从缓存中逐出的项数。 如需了解详情,请访问 https://aka.ms/redis/enterprise/metrics。 |
evictedkeys |
计数 | 总计(总和) | <无> | PT5M、PT1H | 是的 |
|
过期的密钥 缓存中过期的项数。 如需了解详情,请访问 https://aka.ms/redis/enterprise/metrics。 |
expiredkeys |
计数 | 总计(总和) | <无> | PT5M、PT1H | 是的 |
| 异地复制正常运行 活动异地复制组中异地复制的运行状况。 0 表示不正常,1 表示正常。 如需了解详情,请访问 https://aka.ms/redis/enterprise/metrics。 |
geoReplicationHealthy |
计数 | 最大值 | <无> | PT5M、PT1H | 是的 |
|
获取数 从缓存中执行的获取操作数。 如需了解详情,请访问 https://aka.ms/redis/enterprise/metrics。 |
getcommands |
计数 | 总计(总和) | <无> | PT5M、PT1H | 是的 |
| 每秒操作数 每秒在缓存上执行的即时操作数。 如需了解详情,请访问 https://aka.ms/redis/enterprise/metrics。 |
operationsPerSecond |
计数 | 最大值 | <无> | PT5M、PT1H | 是的 |
|
中央处理器 Azure Redis 缓存服务器的 CPU 使用率(以百分比表示)。 如需了解详情,请访问 https://aka.ms/redis/enterprise/metrics。 |
percentProcessorTime |
百分比 | 最大值 | InstanceId |
PT5M、PT1H | 是的 |
| 服务器负载 Redis 服务器忙于处理消息并且非空闲等待消息的周期百分比。 如需了解详情,请访问 https://aka.ms/redis/enterprise/metrics。 |
serverLoad |
百分比 | 最大值 | <无> | PT5M、PT1H | 是的 |
|
设置数 以缓存为目标的设置操作数。 如需了解详情,请访问 https://aka.ms/redis/enterprise/metrics。 |
setcommands |
计数 | 总计(总和) | <无> | PT5M、PT1H | 是的 |
|
总操作数 缓存服务器处理的命令总数。 如需了解详情,请访问 https://aka.ms/redis/enterprise/metrics。 |
totalcommandsprocessed |
计数 | 总计(总和) | <无> | PT5M、PT1H | 是的 |
|
总密钥数 缓存中的总项数。 如需了解详情,请访问 https://aka.ms/redis/enterprise/metrics。 |
totalkeys |
计数 | 最大值 | <无> | PT5M、PT1H | 是的 |
| 已用内存 缓存中的键/值对所用的缓存内存量(以 MB 为单位)。 如需了解详情,请访问 https://aka.ms/redis/enterprise/metrics。 |
usedmemory |
字节 | 最大值 | <无> | PT5M、PT1H | 是的 |
| 已用内存百分比 键/值对所用的缓存内存百分比。 如需了解详情,请访问 https://aka.ms/redis/enterprise/metrics。 |
usedmemorypercentage |
百分比 | 最大值 | <无> | PT5M、PT1H | 是的 |
有关 Azure 托管 Redis 指标的详细信息
以下章节提供了支持的Microsoft Azure Monitor指标的更多信息和解释指导。缓存/redisEnterprise。 有关完整的指标及其单元和聚合类型,请参见 支持指标 表。
关于集群级指标的详细信息
下表提供了每个集群级指标的底层 Redis V1 Prometheus 源指标及额外解释指导。 关于源指标定义,请参见 Redis Enterprise Prometheus v1指标参考资料。
| 指标 | 资料与注释 |
|---|---|
| 缓存延迟 | 在指定的报告间隔内,由缓存节点上的终结点处理的请求的平均延迟。 该指标以毫秒为单位,来源于 node_avg_latency V1普罗米修斯的指标。 仅当缓存上存在活动流量时,才会报告此指标。 |
| 缓存命中数 | 成功查找密钥的比率,以每秒命中数表示。 来源于 bdb_read_hits V1普罗米修斯指标。 这是一个费率指标;其 Azure Monitor 单元显示为计数,但其数值是每秒速率。 |
| 缓存未命中数 | 键查询失败率,以每秒未命中表示。 来源于 bdb_read_misses_max V1普罗米修斯指标。 这是一个费率指标;其 Azure Monitor 单元显示为计数,但其数值是每秒速率。 缓存未命中并不一定意味着缓存出现了问题。 例如,在使用缓存端编程模式时,应用程序会首先查找缓存中的项。 如果缓存中不存在该项(缓存未命中),则将从数据库中检索该项并将其添加到缓存中供下次使用。 对于缓存端编程模式,缓存未命中是正常行为。 如果缓存未命中数大于预期值,请检查从缓存中填充并读取的应用程序逻辑。 如果由于内存压力而从缓存中逐出项,则可能存在一些缓存未命中,但更好的指标是监视内存压力的 Used Memory or Evicted Keys指标。 |
| 缓存读取量 | 表示进入缓存节点的网络流量速率(字节每秒)。 该值来源于 node_ingress_bytes_max V1普罗米修斯度规。 如果要为服务器端网络带宽限制设置警报,请使用此缓存读取计数器创建警报。 请参阅此表,了解各种缓存定价层和大小所遵循的带宽限制。 这是一个速率指标,以每秒字节数表示。 |
| 缓存写入量 | 表示缓存节点发出的网络流量速率(每秒字节数)。 该值来源于 node_egress_bytes_max V1普罗米修斯度规。 这是一个速率指标,以每秒字节数表示。 |
| 连接的客户端数 | 数据来源于 node_conns V1 Prometheus指标,该指标统计连接到节点端点的客户端数量。 达到连接限制后,以后尝试连接到缓存会失败。 即使没有活动的客户端应用程序,也仍可能会由于存在内部进程和连接而存在少量已连接的客户端实例。 |
| CPU | 该指标源自 node_cpu_idle V1的Prometheus指标,表示该区间内的平均CPU空闲时间段(0到1的值,乘以100以表示百分比),并反转以反映CPU的繁忙时间。 CPU 指标包括后台进程,例如非严格 Redis 服务器进程的反恶意软件,因此它有时可以独立于 Redis 工作负荷激增。 建议将此指标用于 服务器负载 进行监视,因为它通过拆分实例 ID 来支持实例级向下钻取,从而提供更精细的节点承受压力。 |
| 逐出的密钥数 | 关键的驱逐率,以每秒驱逐数表示。 来源于 bdb_evicted_objects V1普罗米修斯指标。 这是一个费率指标;其 Azure Monitor 单元显示为计数,但其数值是每秒速率。 |
| 过期的密钥数 | 密钥过期率,以每秒过期数表示。 来源于 bdb_expired_objects V1普罗米修斯指标。 这是一个费率指标;其 Azure Monitor 单元显示为计数,但其数值是每秒速率。 |
| 异地复制正常 | 指示活动 Geo-Replication 组中缓存之间的异地复制链接的运行状况。 指标报告以下两个值之一: 0 - 断开连接/不正常 1 - 正常 该指标在启用了异地复制的内存优化、均衡和计算优化层缓存上可用。 值为 0 并不意味着异地副本上的数据丢失。 它仅意味着异地主缓存和异地辅助缓存之间的链接运行不正常。 此指标可能表示由于多种原因而导致断开连接/不正常的复制状态,包括:月度修补、主机 OS 更新、网络配置错误或异地复制链接预配失败。 Azure 托管 Redis 服务会定期使用最新的平台功能和改进来修补缓存。 更新期间,每个缓存节点都将脱机,这会暂时禁用异地复制链接。 如果异地复制链接不正常,请检查它是否是由异地主缓存或异地辅助缓存上的修补事件引起的,方法是使用门户中“资源”菜单中的 “诊断和解决问题 ”。 根据缓存中的数据量,修补的停机时间可能是几分钟到一个小时。 如果异地复制链接运行不正常的时间超过一小时,请提交支持请求。 |
| 获取数 | 读取操作的速率,表示为每秒的操作。 来源于 bdb_read_req V1 Prometheus指标,表示数据库中所有读取请求的速率,等价于缓存命中率和未命中率的总和。 这是一个费率指标;其 Azure Monitor 单元显示为计数,但其数值是每秒速率。 |
| 每秒操作数 | 在指定的报告间隔内,缓存的所有分片每秒处理的请求总数。 该值来源于 bdb_instantaneous_ops_per_sec V1普罗米修斯度规。 这是一个速率指标,以每秒操作表示。 |
| 服务器负载 |
服务器负载指标反映了 Redis 服务器自身对整体负载的评估。 和 CPU 指标一样,它源自 node_cpu_idle V1的Prometheus指标,但倒置以反映服务器忙碌时间。 区别在于 服务器负载 是在集群层面测量的,而 CPU 则是在节点(实例)层面测量的。服务器负载 达到100并不一定意味着CPU在缓存中耗尽;这可能表明某个节点的CPU正接近饱和。 因此,在做出性能相关决策(如扩展或将数据分区到多个缓存)之前,应同时评估 服务器负载 和每节点的 CPU 指标。 持续的高 服务器负载 可能带来多种副作用,包括服务器端延迟增加和超时异常。 注意:对于Azure托管的Redis缓存,服务器负载有时会显示超过100的数值。 我们建议在做出任何基于性能的决策前,先使用 CPU 指标,或者同时评估两个指标。 |
| 集合 | 写入操作的速率,以每秒操作表示。 来源于 bdb_write_req V1 Prometheus指标,代表数据库中所有写请求的速率。 这是一个费率指标;其 Azure Monitor 单元显示为计数,但其数值是每秒速率。 |
| 总密钥数 | 来源于 bdb_no_of_keys V1普罗米修斯指标。重要提示: 由于启用集群缓存的底层度量系统限制,总密钥返回的是报告区间内拥有最多密钥的分片中键数的最大数。 要查看集群缓存中每个分片密钥的准确计数,可以使用按维度切片的分片级 Slots (Range) 指标。 |
| 总操作数 | 所有操作的速率,以每秒的操作表示。 来源于 bdb_total_req V1普罗米修斯指标。 这是一个费率指标;其 Azure Monitor 单元显示为计数,但其数值是每秒速率。 |
| 已用内存 | 来源于 bdb_used_memory V1普罗米修斯指标。 在闪存优化层缓存上,此值包括 RAM 和闪存使用情况。 此值不包括碎片。启用高可用性后,“已用内存”值包括主节点和副本节点中的内存。 这可能导致指标看起来是预期值的两倍。 |
| 已用内存百分比 | 根据 bdb_used_memorybdb_memory_limit Redis Enterprise V1 Prometheus指标计算的比值。 此值不包括碎片。 |
分片级指标
Azure Managed Redis现在可以公开分片级指标,提供每个分片对缓存行为的可视化。 这些指标来源于 Redis V2 Prometheus 端点(redis_server_* 指标)。
尺寸
每个分片级别度量支持以下维度:
| Dimension | REST API 中的名称 | Description |
|---|---|---|
Instance ID |
InstanceId |
识别集群内的特定 Redis 节点(虚拟机实例)。 利用该维度隔离每个节点的行为,并识别节点间的负载不平衡。 |
Slots (Range) |
Slots |
通过其哈希槽范围来识别分片。 利用该维度检测内存不平衡或分片间密钥分布不均。 |
Shard ID |
Shard |
使用Redis 分片UID的唯一分片标识符。 同时使用这个维度Slots (Range)来关联 Azure Monitor 数据与 Redis 级别的分片标识符。 |
Shard Role |
Role |
节点的角色: primary 或 replica。 利用该维度比较同一分片上主节点和副本节点的指标。 |
注释
当你通过 Azure Monitor REST API 按维度划分或筛选时,使用“REST API 中的名称”列中的值,而不是门户显示名称。 Azure Monitor REST API 中的度量名称和维度名称是不区分大小写的。 例如,查询 percentProcessorTime、 PercentProcessorTime或 PERCENTPROCESSORTIME 返回相同的结果。 维度滤波器值同样适用: instanceId eq '*' 和 INSTANCEID eq '*' 是等价的。 本文所用的外壳仅为可读性而设计。
Important
这些指标在分片层面发布。 当查询时不按维度拆分,Azure Monitor 会使用默认的聚合类型在所有分片中汇总值。 对于大多数指标,这种跨分片聚合并不产生有意义的集群范围总数。 始终按 Slots (Range) 维度分割,以便准确地进行每个碎片的分析。
关于分片级指标的详细信息
下表提供了每个分片级指标的底层Redis V2 Prometheus源指标及额外解释指导。 关于源度量定义,请参见 Redis Enterprise Prometheus v2度量参考资料。
| 指标 | 详细信息 |
|---|---|
| 所用分片内存(字节)(预览) | 该分片使用的内存以字节为单位。 在支持闪存的SKU,这包括DRAM和闪存的使用。 来源于 redis_server_used_memory Redis V2 Prometheus指标。 |
| 分片内存客户端 正常(字节)(预览) | 当前用于非副本客户端输入和输出缓冲区的内存。 来源于 redis_server_mem_clients_normal Redis V2 Prometheus指标。 |
| 分片内存客户端副本(字节)(预览) | 当前用于副本客户端输入和输出缓冲区的内存。 来源于 redis_server_mem_clients_slaves Redis V2 Prometheus指标。 |
| 分片密钥计数(预览) | 总密钥数。 来源于 redis_server_db_keys Redis V2 Prometheus指标。 |
| 分片复制链接(预览) | 表示副本是否连接到其主副本。 数据来源于 redis_server_master_link_status Redis V2 Prometheus 指标,该指标仅由副本分片发出,因为只有副本才有返回主节点的复制链路以报告。 |
大键指标
以下指标跟踪分片间密钥大小分布,帮助您在大密钥引发性能问题之前识别出问题。
注释
目前还不支持大键指标,活跃的地理复制缓存。 这些地理复制缓存的指标支持将在稍后推出。
字符串键(按内存大小)
| 指标 | 详细信息 |
|---|---|
| 分片字符串大小低于128 MB(预览) | 该分片内存大小低于128 MB的字符串密钥数量。 |
按元素计数设置键
| 指标 | 详细信息 |
|---|---|
| 分片将元素设置在100万元素以下(预览) | 该碎片中少于100万元素的集合密钥数量。 |
| 分片将物品设置1M到8M元素(预览) | 该碎片上的集合密钥数量,元素在100万到800万之间。 |
| 分片设置物品超过 800 万元素(预览) | 该分片上的固定密钥数量超过800万个元素。 |
排序集键(按元素计数)
| 指标 | 详细信息 |
|---|---|
| 分片排序将元素数在100万以下的项目(预览) | 该分片中元素少于100万的排序集密钥数量。 |
| 分片排序集合 1M 到 8M 元素(预览) | 该分片上排序集密钥数量,元素数介于100万到800万之间。 |
| 分片排序集合超过 800 万元素的物品(预览) | 该碎片上有超过800万个元素的排序集密钥数量。 |
哈希键(按字段计数)
| 指标 | 详细信息 |
|---|---|
| 分片对元素少于100万的哈希(预览) | 该分片中少于100万字段的哈希键数量。 |
| 分片哈希 1M 到 8M 元素(预览) | 该分片上的哈希密钥数量,字段在100万到800万之间。 |
| 分片对800万元素的项目进行哈希(预览) | 该分片上的哈希密钥数量超过800万个字段。 |
列表键(按元素计数)
| 指标 | 详细信息 |
|---|---|
| 分片列出元素数在100万以下的项目(预览) | 该分片中少于100万个元素的列表密钥数量。 |
| 分片列出100万到800万元素(预览) | 该分片上的列表密钥数量在100万到800万个元素之间。 |
| 分片列出的元素超过 800 万个(预览) | 该分片上的列表密钥数量超过800万个元素。 |
分片级指标故障排除
以下章节描述了常见的分片级场景及其诊断方法:
识别复制链路故障
复制链路故障发生在主分片无法与其关联的副本分片建立复制连接,导致副本无法与主分片保持同步。 该指标仅由副本分片发出,因为只有副本有返回主节点的复制链路可报告,并报告该副本当前是否连接到主节点。 持续故障会移除受影响分片的高可用性保护,并在链路恢复前发生故障切换时增加数据丢失的风险。 话虽如此,复制链路在故障切换、分片迁移、扩展或维护事件中可能会暂时不健康,因此该指标可能会产生噪声。 这就是为什么在设置该指标的警报时,只应在持续一段时间内发出多个数据点,显示健康状况下降。
检测方法:
- 将 分片复制链路 拆分为
Slots (Range)。 任何分片的值为0表示分片的复制链路已断开;1表示它已经升起。 - 将长时间保持0(例如120分钟或更久)的链路视为持续故障,而非瞬时重连。 在正常维护或故障切换期间,可能会出现短暂的低谷。
- 在同一分片上关联 Shard Memory Used 和 Shard Memory Client Replica ,以判断主节点的资源压力是否伴随故障。
常见原因:
- 大键是一个主要原因。 大密钥和集合使同步变得缓慢且成本高昂,可能导致副本停滞,最终使复制链路进入不健康状态。
- 主节点和副本节点之间的网络中断或高延迟。
- 主分片因写吞吐量过高或CPU饱和而过载,无法服务复制。
- 主节点的内存压力阻止了同步副本所需的后台操作。
- 由于慢速副本落后于复制积压,导致反复的全同步周期。
修复:
- 减少持续写吞吐量或扩展缓存以增加容量,使主分片不那么饱和。
- 识别并拆分大密钥,这些密钥会使受影响分片的复制和重新同步成本增加。
- 如果负载降低后链路仍然断开,请发起支持请求,让平台团队调查节点健康状况和内部复制积压。
识别记忆失衡
内存失衡发生在某些碎片使用明显更多的内存时,这可能导致特定碎片被逐出,而其他碎片则有充足的空闲内存。
检测方法:
-
分片内存(字节)被
Slots (Range)分割。 最大/最小比值大于2x表示有意义的不平衡。 - 通过与分
Slots (Range)相关联,判断不平衡是由于密钥数量增加还是特定分片值较大。
常见原因:
- 标签滥用,将大量密钥集中在同一分片上。
- 大密钥:在特定分片上少量非常大的数据结构。
- TTL策略不一致导致内存使用随时间出现差异。
修复:
- 通过审查和调整标签的使用方式来重新分发密钥。
- 利用大键指标识别并拆分大密钥,定位受影响的分片。
- 查看高内存分片密钥的TTL政策。
诊断复制缓冲区生长
每个主分片都为其副本维护一个输出缓冲区,副本尚未应用写入队列。 当副本无法跟上时,这个缓冲区会增长并消耗分片上的内存。 如果它在无限制的情况下增长,副本可能会被断开连接并强制进行完全重新同步,这成本高昂,可能导致反复的重新同步循环,甚至导致复制同步变得不健康。 由于每个碎片都有自己的复制缓冲区,成长通常被隔离在特定的碎片上。
检测方法:
- 将分片内存客户端副本(字节)
Slots (Range)按分割,观察任何分片在15分钟或更长时间内持续上升的趋势,而不是单次高读数。 稳定增长才是信号,而不是短暂的激增。 - 与同一分片上的分 片复制链接 相关联。 缓冲区增长以链路降至0结束,表示副本已被断开连接,且很可能进行重新同步。
- 与写入密集活动(集群层面的集合 和 总运算 )相关,以判断写入突发是否推动了增长。
常见原因:
- 持续的写突发产生的变化速度超过副本应用的速度。
- 一个缓慢的复制品,资源争夺,落后于主级。
- 反复进行完整的重新同步循环,反复填充缓冲区。
- 大键让单个复制操作变得庞大且传输缓慢。
修复:
- 尽可能平滑或减少写突发,或者通过扩展缓存来增加容量。
- 识别并拆分大密钥,以减少单个复制操作的规模。
- 如果缓冲区持续增长且副本反复断开连接,请发起支持请求,让平台团队检查副本的健康和缓冲区大小,这些由服务管理。
管理大密钥
大密钥和大集合会增加单个分片的内存压力,使复制成本增加。 为了获得最佳的数据路径性能,应将单个键/值大小控制在512 KB以下。 这是性能建议,不是强制限制。
大型密钥指标桶仅监控边界——它们不是推荐或认可的密钥大小。 例如,“分片字符串大小低于128 MB”桶仅统计小于128 MB的字符串密钥,以便观察增长;这并不意味着 Azure 建议密钥存储在接近 128 MB 的位置。 同样,元素计数桶(1M、8M)是检测超大集合的阈值,而非目标大小。 始终以最小实用的密钥尺寸为目标(理想情况下低于512 KB),并且把任何进入更高层级的密钥都当作调查对象。
大键将桶键按大小范围测量,这样你能在问题出现前发现增长。 对于集合,第一个桶代表正常范围内的键,因此应将第二个或第三个桶中出现的键视为值得调查的键。 对于字符串密钥,只有小于 128 MB 的桶会被暴露,因此任何接近或超过 128 MB 的字符串值都应被视为关注点。
为什么大键很重要:
- 复制成本:大密钥使得高可用复制和主动地理复制(CRDB)成本更高。 效果并非立竿见影;它通常在完全重新同步时出现,该重同步由后续故障或重新连接触发。
- 闪存优化缓存影响:在闪存优化SKU中,如果密钥较大,密钥会保留在RAM中,不会卸载到闪存,这可能导致内存外(OOM)错误,即使闪存磁盘空间仍然可用。 相对于键名非常小的值也难以卸载。
检测方法:
- 根据每个大键的指标
Slots (Range)来拆分,看看哪些碎片里有大键。 - 对于集合,重点关注第二和第三个元素计数桶(1M到8M及超过8M)。 第三桶代表最极端的调性。 对于字符串,只有“ 分片字符串大小低于128 MB ”桶暴露,因此任何字符串值在128 MB或以上都应视为关注点。
- 与 分片内存 相关,用于
Slots (Range)确认大键是否导致特定分片内存失衡。
修复:
- 将值大小向第一个桶或512 KB减小,作为最佳实践。 常见策略包括将大值拆分或分块到多个键,以及压缩或重新格式化序列化值。
- 对于随着时间增长无界的集合(列表、集合、排序集合和哈希),可以将集合拆分到多个键或定期修剪。
- 目标是减少单个密钥和集合的大小。 最佳方法取决于你的应用设计和数据类型。
分片级指标的警示建议
| 情景 | 指标 | 条件 | 评估窗口 | Severity |
|---|---|---|---|---|
| 复制链路故障 | 分片复制链接,分为 Slots (Range) |
任何分片的最小值 = 0 | 120+ 分钟 | 高 |
| 记忆失衡 | 分片内存(字节数),按 Slots (Range) |
槽 > 位的最大/最小比值是2倍 | 5 分钟 | 中等 |
| 复制缓冲区的增长 | 分片内存客户端副本(字节),由 Slots (Range) |
持续增加超过15分钟 | 15 分钟 | 中等 |
| 非常庞大的收藏(第三个桶) | 任何“超过800万元素”收集桶的指标,按 Slots (Range) |
任何分片的值为 > 0 | 10+ 分钟 | 高 |
| 大型收藏(第二桶) | 任何“1M到8M元素”收集桶的度量,按 Slots (Range) |
该类型总密钥中桶计数的比例超过10% | 10+ 分钟 | 中等 |
| 大字符串键 | 分片字符串大小低于128 MB(唯一暴露的字符串桶) | 任何字符串值在128 MB或以上都值得关注;注意128MB以下的计数,键数逐渐接近阈值 | 10+ 分钟 | 提示性 |
注释
复制链路故障警报可以直接作为 Azure Monitor 的指标警报编写,因为该指标汇总为最小值,窗口值为 0 表示链路曾在某个时间点断线。 非常大型集合(第三桶)警报也可以本地编写,因为它测试单个指标对固定阈值(值大于0)进行测试。 其余场景无法通过 Azure Monitor 的指标提醒原生评估:指标警报无法比较不同维度值的值(例如,最大Slots (Range)/最小比),无法计算两个指标之间的比率(例如,该类型总密钥的第二桶计数占比),也无法检测持续上升趋势。 它们只测试某个值在某个时间点是否跨越了固定阈值。 将这些作为导出指标的日志搜索警报编写:通过诊断设置将指标发送到 Log Analytics 工作区,然后在 Kusto(KQL)查询中计算最大/最小比值、桶份额或趋势。 第一桶指标不需要警报;持续关注它们的趋势。
资源日志
本部分列出了可为此服务收集的资源日志类型。 本部分拉取自 Azure Monitor 支持的所有资源日志类别类型列表。
Microsoft.Cache/redisEnterprise/databases 支持的资源日志
| 类别 | 类别显示名称 | 日志表 | 支持基本日志计划 | 支持在数据引入时进行转换 | 示例查询 | 出口的成本 |
|---|---|---|---|---|---|---|
ConnectionEvents |
连接事件(新连接/身份验证/断开连接) |
REDConnectionEvents 客户端连接到 redis 企业数据库时记录连接事件。 |
是的 | 是的 | 查询 | 是的 |
Azure Monitor 日志表
本部分列出了与此服务相关的 Azure Monitor 日志表,日志分析可使用 Kusto 查询来查询这些表。 这些表包含资源日志数据,此外还可能包含其他数据,具体取决于所收集并路由到这些表的内容。
Azure 托管的 Redis
Microsoft.Cache/redisEnterprise
活动日志
链接表列出了可在此服务的活动日志中记录的操作。 这是活动日志中所有可能的资源提供程序操作的子集。
有关活动日志条目架构的详细信息,请参阅活动日志架构。
相关内容
- 请参阅使用 Azure Monitor 监视 Azure 资源,详细了解如何监视 Azure 资源。