支持的监控指标

本页面列出了 Memorystore for Redis Cluster 可用的指标,并介绍了每个指标所衡量的内容。

Backup 指标

本部分列出并介绍了备份导入指标。

集群级指标

本部分列出并介绍了集群级备份和导入指标。

指标名称 说明
redis.googleapis.com/cluster/backup/last_backup_start_time 此指标显示上次备份操作的开始时间。
redis.googleapis.com/cluster/backup/last_backup_status 此指标显示最近一次备份尝试是成功完成还是失败。状态为 1(针对 Success)和 0(针对 Failed)。
redis.googleapis.com/cluster/backup/last_backup_duration 此指标显示了上次备份操作的持续时长(以毫秒为单位)。
redis.googleapis.com/cluster/backup/last_backup_size 此指标显示的是上次备份的大小(以字节为单位)。此指标是监控备份效率和规划存储容量的关键指标。
redis.googleapis.com/cluster/import/last_import_start_time 此指标显示上次导入操作的开始时间。
redis.googleapis.com/cluster/import/last_import_duration 此指标显示上次导入操作的持续时长(以毫秒为单位)。

证书授权机构 (CA) 指标

本部分列出了与客户管理的证书授权机构 (CA) 相关的指标。

集群级指标

这些指标简要介绍了与集群中的机器关联的证书。

指标名称 说明
redis.googleapis.com/cluster/security/rotate_tls_cert_count

此指标显示与集群中的机器关联的轮换证书的状态。

指标可具有以下状态:

  • SUCCESS:Memorystore for Redis Cluster 轮换了证书。
  • FAILED:Memorystore for Redis Cluster 未轮替证书,因为证书不可用、Memorystore for Redis Cluster 没有轮替证书的权限,或者存在内部错误。
  • SKIPPED:Memorystore for Redis Cluster 跳过了证书轮换,因为无需轮换证书。

Cloud Monitoring 指标

本部分列出并介绍了适用于 Memorystore for Redis Cluster 的 Cloud Monitoring 指标。

集群级指标

这些指标可提供集群总体健康状况和性能的概览。您可以使用这些指标来了解集群的总体容量和利用率,并找出潜在的瓶颈或需要改进的方面。

指标名称 说明
redis.googleapis.com/cluster/clients/average_connected_clients 此指标用于衡量在指定时间内,集群的平均活跃客户端连接数。您可以使用此指标来监控连接伸缩、识别应用瓶颈并确保集群稳定。
redis.googleapis.com/cluster/clients/maximum_connected_clients 此指标显示了集群中所有节点的活跃客户端连接数上限。您可以使用此指标随时监控集群上的最高连接负载。这一点至关重要,因为高连接数会增加响应时间,从而影响集群的高性能。
redis.googleapis.com/cluster/clients/total_connected_clients 此指标用于跟踪当前与集群建立的活跃客户端连接数。您可以使用该指标来监控数据库的负载并防止连接数达到上限。
redis.googleapis.com/cluster/stats/total_connections_received_count 此指标显示的是集群在过去一分钟内创建的客户端连接的累计数量。您可以使用此指标来分析流量负载,确保未超出连接限制,并确定是否需要扩缩集群。
redis.googleapis.com/cluster/stats/total_rejected_connections_count 此指标用于跟踪因达到 maxclients 上限而遭拒的集群连接总数。
redis.googleapis.com/cluster/commandstats/total_usec_count 此指标用于衡量每个命令消耗的总 CPU 时间。该指标表示所用的总微秒数,可帮助您深入了解集群的性能和延迟时间。
redis.googleapis.com/cluster/commandstats/total_calls_count 此指标衡量的是集群节点上与特定命令相关联的调用在一分钟内的总次数。如需确定特定命令的瓶颈或高流量,您可以使用此指标来监控主节点和副本节点上的命令吞吐量(每分钟的命令数)。
redis.googleapis.com/cluster/cpu/average_utilization 此指标显示集群的平均 CPU 利用率(范围为 0.0 到 1.0)。您可以使用此指标来识别资源过度配置或利用不足的情况、管理自动伸缩阈值,并检测性能瓶颈,理想的利用率为 40%-70%。
redis.googleapis.com/cluster/cpu/maximum_utilization

此指标显示集群中所有节点的 CPU 使用率峰值(范围为 0.0 到 1.0)。

该指标仅汇总 sys_main_threaduser_main_thread 状态。不包括 /cluster/node/cpu/utilization 指标中提供的其他 CPU 状态(例如 sys_childrenuser_children)。

确保主节点的 CPU 利用率不超过 0.8 秒,每个指定为只读副本的副本的 CPU 利用率不超过 0.5 秒。如需了解详情,请参阅 CPU 使用最佳实践

redis.googleapis.com/cluster/stats/average_expired_keys 此指标用于衡量集群中所有节点的平均键过期事件数。您可以使用该指标来监控即将过期的密钥数量。
redis.googleapis.com/cluster/stats/maximum_expired_keys 此指标用于衡量集群的所有节点中发生的关键过期事件的最大数量。
redis.googleapis.com/cluster/stats/total_expired_keys_count 此指标用于跟踪集群的所有节点中发生的键过期事件总数。您可以使用该指标监控即将过期的密钥数量。
redis.googleapis.com/cluster/stats/average_evicted_keys 此指标用于跟踪集群的分片因内存容量限制而逐出的键的平均数量。
redis.googleapis.com/cluster/stats/maximum_evicted_keys 此指标显示因内存容量而从集群的节点或分片中逐出的键的最大数量。
redis.googleapis.com/cluster/stats/total_evicted_keys_count 此指标显示了集群的节点因内存容量而逐出的键的总数。
redis.googleapis.com/cluster/keyspace/total_keys 此指标显示集群中存储的键数量。
redis.googleapis.com/cluster/stats/average_keyspace_hits 此指标显示了集群中所有节点的平均键查找成功次数。
redis.googleapis.com/cluster/stats/maximum_keyspace_hits 此指标显示集群节点中键查找成功的最大次数。您可以使用此指标来监控集群的性能,并找出集群中潜在的热点。
redis.googleapis.com/cluster/stats/total_keyspace_hits_count 此指标用于跟踪集群中所有节点上键查找成功的累计次数。
redis.googleapis.com/cluster/stats/average_keyspace_misses 此指标显示了整个集群中键查找失败的平均次数。您可以使用此指标来跟踪请求密钥但未在缓存中找到密钥的频率。
redis.googleapis.com/cluster/stats/maximum_keyspace_misses 此指标显示了集群节点中键查找失败的最大次数。
redis.googleapis.com/cluster/stats/total_keyspace_misses_count 此指标显示的是所有集群节点中键查找失败的总次数。
redis.googleapis.com/cluster/memory/average_utilization 此指标显示整个集群的平均内存利用率(范围为 0.0 到 1.0)。您可以使用该指标来监控集群的容量并设置提醒阈值。例如,您可以设置提醒阈值,以便在平均内存超过特定百分比(例如 80%)时通知用户。
redis.googleapis.com/cluster/memory/maximum_utilization 此指标显示所有集群节点的最大内存利用率(范围为 0.0 到 1.0)。您可以使用该指标来确定何时扩缩集群。我们建议您监控使用情况,确保其保持在 100% 以下。在高写入负载下,如果此指标达到 65% 至 85%,性能可能会下降。
redis.googleapis.com/cluster/memory/total_used_memory 此指标显示集群的总内存用量(以字节为单位)。您可以使用该指标来监控集群的容量。
redis.googleapis.com/cluster/memory/size 此指标用于衡量集群中所有节点的总 RAM、已用 RAM 和可用 RAM。您可以使用此指标来监控集群的容量并防止节点故障。
redis.googleapis.com/cluster/replication/average_ack_lag 此指标显示了集群中副本的平均确认延迟时间(以秒为单位)。

确认延迟是集群中主节点的瓶颈。此瓶颈是由其副本造成的,这些副本无法跟上主节点发送给它们的信息。发生这种情况时,主节点必须等待副本收到信息的确认。这可能会减慢事务提交速度,并对主节点造成性能影响。
redis.googleapis.com/cluster/replication/maximum_ack_lag 此指标显示了整个集群中副本的最大确认延迟时间(以秒为单位)。
redis.googleapis.com/cluster/replication/average_offset_diff 此指标显示了整个集群中的平均复制确认偏移差(以字节为单位)。

复制确认偏移差是指副本及其主集群之间未复制的字节数。
redis.googleapis.com/cluster/replication/maximum_offset_diff 此指标显示了整个集群中的最大复制偏移差(以字节为单位)。

复制偏移差是指副本与其主集群之间未复制的字节数。
redis.googleapis.com/cluster/stats/total_net_input_bytes_count 此指标显示集群的端点接收的传入网络字节数。
redis.googleapis.com/cluster/stats/total_net_output_bytes_count 此指标显示集群的端点发送的传出网络字节数。

节点级指标

这些指标可让您详细了解集群中各个节点的健康状况和性能。您可以使用这些指标排查节点问题,以优化节点性能。

指标名称 说明
redis.googleapis.com/cluster/node/clients/connected_clients 此指标表示与集群节点建立的活跃客户端连接数,不包括副本连接。您可以使用此指标来监控连接限制,并识别分片接收的流量不成比例的热点。
redis.googleapis.com/cluster/node/clients/blocked_clients 此指标显示集群节点屏蔽的客户端连接数。被屏蔽的客户端连接数较高或快速增加可能表明许多客户端正在等待操作。这可能会导致延迟时间增加。
redis.googleapis.com/cluster/node/server/uptime 此指标用于衡量集群节点的正常运行时间。您可以使用该指标来跟踪服务器在不重启或不发生故障的情况下持续运行的时间。
redis.googleapis.com/cluster/node/stats/connections_received_count 此指标用于跟踪在指定时间段内集群节点上创建的客户端连接总数。您可以使用此指标监控集群内各个节点的连接流量。这样一来,您就可以分析负载分布并识别连接活动中的峰值。
redis.googleapis.com/cluster/node/stats/rejected_connections_count 此指标显示了因集群节点达到 maxclients 上限而遭拒的连接数。您可以使用此指标来确定节点是否承受高连接压力,以及是否因无法处理更多连接而拒绝新连接。
redis.googleapis.com/cluster/node/commandstats/usec_count 此指标显示了每个命令在集群节点中消耗的总时间。您可以使用该指标来分析命令的性能、识别运行缓慢的命令,以及排查节点级延迟时间问题。
redis.googleapis.com/cluster/node/commandstats/calls_count 此指标用于跟踪集群节点上相应命令每分钟的调用总次数。您可以使用该指标来监控流量分配、识别常用命令,以及排查各个节点上的瓶颈。
redis.googleapis.com/cluster/node/cpu/utilization 此指标显示集群节点的 CPU 利用率(范围为 0.0 到 1.0)。
redis.googleapis.com/cluster/node/stats/expired_keys_count 此指标显示了集群节点中的过期事件总数。您可以使用此指标来监控因键的存留时间 (TTL) 达到零而从集群中移除键的速率。
redis.googleapis.com/cluster/node/stats/evicted_keys_count 此指标用于统计集群节点因集群达到内存上限而逐出的键的总数。该指标可用于确定集群是否面临内存压力。被逐出的键数量较高或不断增加,表明集群空间不足。因此,集群会移除键以腾出空间来存储新数据。
redis.googleapis.com/cluster/node/keyspace/total_keys 此指标用于衡量集群节点存储的键总数。该指标可直观呈现各节点的数据分布和分片情况。
redis.googleapis.com/cluster/node/stats/keyspace_hits_count 此指标用于跟踪集群节点上键查找成功的次数。您可以使用此指标来监控节点检索内存中数据的效率。
redis.googleapis.com/cluster/node/stats/keyspace_misses_count 此指标用于跟踪集群节点上键查找失败的次数。
redis.googleapis.com/cluster/node/memory/utilization 此指标用于跟踪集群节点中的内存利用率(范围为 0.0 到 1.0)。您可以使用此指标来防止节点故障并确保集群的稳定性。
redis.googleapis.com/cluster/node/memory/usage 此指标用于衡量集群节点的总内存用量。
redis.googleapis.com/cluster/node/stats/net_input_bytes_count 此指标用于衡量集群节点接收的传入网络字节总数。您可以使用此指标来监控网络吞吐量、识别潜在的瓶颈并分析节点上的流量峰值。
redis.googleapis.com/cluster/node/stats/net_output_bytes_count 此指标用于衡量集群节点发送的传出网络字节总数。您可以使用此指标监控节点的网络出站流量,以便进行性能调优和容量规划。
redis.googleapis.com/cluster/node/replication/offset 此指标衡量集群节点的复制偏移字节数。在将集群的副本提升为主集群之前,您可以使用该指标检查副本是否处理了所有数据。这可以防止数据丢失。
redis.googleapis.com/cluster/node/server/healthy 此指标用于确定集群节点是否可用且正常运行。

跨区域复制指标

本部分列出并介绍了跨区域复制指标。

指标名称 说明
redis.googleapis.com/cluster/cross_cluster_replication/secondary_replication_links 此指标显示主集群和次要集群之间的分片链接数量。在跨区域复制组中,主集群会报告其与组中次要集群之间的 CRR 复制链接数量。对于每个辅助集群,此数字应等于分片数。如果该数字意外降至分片数量以下,则表示复制器与跟随者之间的复制已停止的分片数量。在理想状态下,此指标应与主集群分片数相同。
redis.googleapis.com/cluster/cross_cluster_replication/secondary_maximum_replication_offset_diff 此指标用于衡量集群的主分片和次分片(副本)在不同区域之间的最大复制偏移差(以字节为单位)。
redis.googleapis.com/cluster/cross_cluster_replication/secondary_average_replication_offset_diff 此指标用于衡量不同区域中集群的主分片和副本分片之间的平均复制偏移差(以字节为单位)。如果该指标的值较高,则表示存在复制延迟,您可以通过暂停然后恢复复制来解决此问题。

JSON 指标

此部分列出了 JSON 文档的节点级指标。

节点级指标

这些指标可提供有关 JSON 文档总数以及这些文档消耗的内存量的详细信息。

指标名称 说明
redis.googleapis.com/cluster/node/json/documents_count 此指标用于衡量集群节点上的 JSON 文档总数。您可以使用此指标来跟踪数据分布和容量,因为此指标会显示在节点级层面上索引、删除或合并的文档数量。
redis.googleapis.com/cluster/node/json/used_memory 此指标用于衡量 JSON 文档消耗的内存量(以字节为单位或以可用内存的百分比表示)。您可以使用此指标来监控容量、识别内存受限的节点,并触发伸缩操作。

持久性指标

本部分列出并介绍了持久性指标。

RDB 持久性指标

本部分列出并介绍了 Redis 数据库 (RDB) 持久性指标。

集群级指标

本部分列出并介绍了集群级 RDB 持久性指标。

指标名称 说明
redis.googleapis.com/cluster/persistence/rdb_saves_count

此指标用于跟踪在集群节点上拍摄 RDB 持久性快照(也称为 RDB 保存)的累计次数。您可以使用此指标按节点监控 RDB 快照的频率和成功率。

相应指标具有 status_code 字段。如需检查 RDB 快照是否失败,请按 status_code 字段过滤,查找 3 - INTERNAL_ERROR 状态。

redis.googleapis.com/cluster/persistence/rdb_save_ages 此指标显示了集群中所有节点的分布快照年龄。对于恢复突发事件,您可以使用该指标查看数据过时的时间范围。理想情况下,分布中的值应具有比快照频率更短(或相同)的滞后时间。

节点级指标

指标名称 说明
redis.googleapis.com/cluster/node/persistence/rdb_bgsave_in_progress 此指标用于指示集群节点上是否正在进行 RDB 后台保存 (BGSAVE)。状态为 TRUE 表示 BGSAVE 处于有效状态。
redis.googleapis.com/cluster/node/persistence/rdb_last_bgsave_status 此指标用于指示集群节点上的 BGSAVE 操作是已完成还是遇到了错误。状态为 TRUE 表示操作已完成。
redis.googleapis.com/cluster/node/persistence/rdb_saves_count 此指标用于跟踪在集群节点上创建的 RDB 快照的累计数量。您可以使用此指标来监控节点上快照的频率和成功率。
redis.googleapis.com/cluster/node/persistence/rdb_last_save_age 此指标用于衡量自上次成功截取 RDB 快照以来经过的时间(以秒为单位)。您可以使用此指标来监控集群节点上 RDB 持久性数据的过时程度。
redis.googleapis.com/cluster/node/persistence/rdb_next_save_time_until 此指标衡量的是集群节点上计划进行下一次 RDB 快照之前剩余的时间(以秒为单位)。您可以使用此指标来监控 RDB 持久性计划,并跟踪下一次自动拍摄快照的时间。
redis.googleapis.com/cluster/node/persistence/current_save_keys_total 此指标用于跟踪集群节点上当前 RDB 保存操作中处理的键总数。

AOF 持久性指标

本部分列出并介绍了仅附加文件 (AOF) 持久性指标。

集群级指标

本部分列出并介绍了集群级 AOF 持久性指标。

指标名称 说明
redis.googleapis.com/cluster/persistence/aof_fsync_lags

此指标用于衡量集群中所有节点从将数据写入 AOF 到成功将该数据同步到持久性存储空间之间的时间差(或延迟时间)。

appendfsync 参数设置为 everysec 时,您可以使用该指标评估集群的持久性健康状况。理想情况下,您希望延迟时间的分布具有比 AOF 同步频率更短(或相同)的延迟时间值。

redis.googleapis.com/cluster/persistence/aof_rewrite_count

此指标用于跟踪集群节点触发 AOF 重写操作的累计次数。您可以使用此指标来诊断性能问题,因为 AOF 重写的频率过高可能会导致集群出现延迟高峰或内存压力。

相应指标具有 status_code 字段。如需检查 AOF 重写是否失败,请按 3 - INTERNAL_ERROR 状态过滤此字段。

节点级指标

本部分列出并介绍了节点级 AOF 持久性指标。

指标名称 说明
redis.googleapis.com/cluster/node/persistence/aof_last_write_status 此指标显示集群节点上上次 AOF 文件写入操作的状态。如果状态为 TRUE,则表示写入操作成功。您可以使用此指标来验证 Memorystore for Redis Cluster 是否成功持久保留数据。
redis.googleapis.com/cluster/node/persistence/aof_last_bgrewrite_status 此指标显示集群节点中上次 AOF bgrewrite 操作的状态。如果状态为 TRUE,则表示操作成功。
redis.googleapis.com/cluster/node/persistence/aof_fsync_lag

此指标用于衡量集群节点将数据写入 AOF 与将该数据成功同步到持久性存储之间的时间差(或延迟)。

appendfsync 参数设置为 everysec 时,您可以使用该指标来评估节点的持久性健康状况。如果同步数据的过程超过 1 秒,则持久性会滞后于传入的数据,这可能会导致性能下降或在崩溃场景中丢失数据。

redis.googleapis.com/cluster/node/persistence/aof_rewrites_count

此指标用于跟踪集群节点触发 AOF 重写操作的累计次数。您可以使用该指标来诊断效果问题。频繁进行 AOF 重写可能会导致集群的延迟时间增加或内存压力增大。

相应指标具有 status_code 字段。如需检查 AOF 重写是否失败,请按 3 - INTERNAL_ERROR 状态过滤此字段。

redis.googleapis.com/cluster/node/persistence/aof_fsync_errors_count 此指标会跟踪集群节点上 AOF fsync() 系统调用失败的累计次数。此指标仅适用于启用了 AOF 且 appendfsync 参数设置为 everysecalways 的集群。

常见持久性指标

适用于 AOF 和 RDB 持久化机制的指标。

节点级指标

指标名称 说明
redis.googleapis.com/cluster/node/persistence/auto_restore_count 此指标显示从转储文件(AOF 或 RDB)恢复的次数。

持久性指标的示例使用场景

检查 AOF 写入操作是否会导致延迟和内存压力

假设您检测到集群或集群中的节点延迟时间增加或内存使用量增加。在这种情况下,您可能需要检查额外用量是否与 AOF 持久性相关。

由于您知道 AOF 重写操作可能会触发瞬时负载峰值,因此可以检查 aof_rewrites_count 指标,该指标可提供集群或集群中节点的整个生命周期内的 AOF 重写累计次数。假设此指标显示,重写次数的增加与延迟时间的增加相对应。在这种情况下,您可以通过降低写入速率或增加分片数量来减少重写频率,从而解决此问题。

检查 RDB 保存操作是否会导致延迟和内存压力

假设您检测到集群或集群中的节点延迟时间增加或内存使用量增加。在这种情况下,您可能需要检查额外用量是否与 RDB 持久性相关。

由于您知道 RDB 保存操作可能会触发瞬时负载峰值,因此可以检查 rdb_saves_count 指标,该指标可提供集群或集群内节点的整个生命周期内的 RDB 保存累计次数。假设此指标显示,RDB 保存次数的增量与延迟时间的增加相对应。在这种情况下,您可以缩短 RDB 快照间隔,以降低重写频率。您还可以横向扩容集群,以降低基准负载水平。

解读 Memorystore for Redis Cluster 的指标

如上表所示,许多指标都具有三个共同的类别:平均值、最大值和总值。

对于 Memorystore for Redis Cluster,我们提供同一指标的平均值最大值变体,以便您可以使用这两个指标来识别相应指标系列的流量热点。

相应指标的总计值是独立的,可提供与热点平均最大变体无关的单独数据洞见。

了解平均指标和最大指标

假设您要比较集群的 average_keyspace_hitsmaximum_keyspace_hits 值。随着这两个指标之间的差异越来越大,差异越大表示聚类中命中的热点越多。如果值接近 average_keyspace_hitsmaximum_keyspace_hits,则表示命中次数在整个集群中分布得更均匀。

此原则适用于所有具有相同指标的平均值最大值变体的指标。

热点示例

如果您比较集群中所有分片的 average_keyspace_hitsmaximum_keyspace_hits,比较这些值可以指示热点出现的位置。例如,假设一个 6 分片集群中的分片具有以下命中次数:

  • 分片 1 - 2 次命中
  • 分片 2 - 2 次命中
  • 分片 3 - 2 次命中
  • 分片 4 - 2 次命中
  • 分片 5 - 2 次命中
  • 分片 6 - 8 次命中

在此示例中,average_keyspace_hits 返回的值为 3,maximum_keyspace_hits 返回的值为 8,表示分片 6 是热门分片。

我们提供节点级指标,您可以使用这些指标来识别集群中的热点。