支持的监控指标

本页面列出了 Memorystore for Redis 集群可用的 Cloud Monitoring 指标,并介绍了每个指标所测量的内容。

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/cluster/stats/total_rejected_connections_count 因达到 maxclients 上限而遭拒的连接数。
redis.googleapis.com/cluster/commandstats/total_usec_count 每个命令消耗的总时间。
redis.googleapis.com/cluster/commandstats/total_calls_count 相应命令在一分钟内的调用总次数。
redis.googleapis.com/cluster/cpu/average_utilization 集群的平均 CPU 利用率,范围为 0.0 到 1.0。
redis.googleapis.com/cluster/cpu/maximum_utilization

集群的最大 CPU 利用率,范围为 0.0 到 1.0。

确保主节点的 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。
redis.googleapis.com/cluster/memory/maximum_utilization 整个集群内的最大内存利用率,范围为 0.0 到 1.0。
redis.googleapis.com/cluster/memory/total_used_memory 集群的总内存用量。
redis.googleapis.com/cluster/memory/size 集群的内存大小。
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 集群节点中的过期事件总数。
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) 组中,主集群会报告其与组中次要集群之间的 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 主分片和次分片之间的平均复制偏移差。

备份指标

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

集群级指标

指标名称 说明
redis.googleapis.com/cluster/backup/last_backup_start_time 上次备份操作的开始时间。
redis.googleapis.com/cluster/backup/last_backup_status 上次备份操作的状态。状态为 1(成功)和 0(失败)。
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 上次导入操作的持续时长(以毫秒为单位)。

持久性指标

本部分列出了持久性指标,并提供了持久性指标的示例用例。

RDB 持久性指标

集群级指标

指标名称 说明
redis.googleapis.com/cluster/persistence/rdb_saves_count 此指标显示集群拍摄 RDB 快照(也称为“保存”)的累计次数。此指标具有 status_code 字段。如需检查快照是否失败,您可以过滤 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 表示正在进行中。
redis.googleapis.com/cluster/node/persistence/rdb_last_bgsave_status 此指标表示集群节点中上次 BGSAVE 是否成功。TRUE 表示成功;如果未发生任何 bgrewrite,该值可能默认为 TRUE。
redis.googleapis.com/cluster/node/persistence/rdb_saves_count 此指标显示在集群节点上执行的 RDB 保存的累计次数。
redis.googleapis.com/cluster/node/persistence/rdb_last_save_age 此指标显示自上次成功截取快照以来经过的时间(以秒为单位)。
redis.googleapis.com/cluster/node/persistence/rdb_next_save_time_until 此指标显示距离下一次截取快照剩余的时间(以秒为单位)。
redis.googleapis.com/cluster/node/persistence/current_save_keys_total 此指标显示集群节点上当前正在执行的 RDB 保存中的键数量。

AOF 持久性指标

集群级指标

指标名称 说明
redis.googleapis.com/cluster/persistence/aof_fsync_lags 此指标显示了集群中所有节点的延迟(从数据写入到持久存储同步)分布。仅针对 appendfsync=everysec 的集群发出。理想情况下,您希望看到分布中的值小于(或等于)AOF 同步频率。
redis.googleapis.com/cluster/persistence/aof_rewrite_count 此指标显示的是集群中节点触发 AOF 重写的累计次数。此指标具有 status_code 字段。如需检查 AOF 重写是否失败,您可以过滤 status_code 字段,查找以下错误:3 - INTERNAL_ERROR

节点级指标

指标名称 说明
redis.googleapis.com/cluster/node/persistence/aof_last_write_status 此指标显示集群节点中最近一次 AOF 写入操作的成功情况。TRUE 表示成功,如果未发生写入,该值可能默认为 TRUE。
redis.googleapis.com/cluster/node/persistence/aof_last_bgrewrite_status 此指标表示集群节点中上次 AOF 后台重写操作是否成功。TRUE 表示成功,如果未发生任何后台重写,该值可能默认为 TRUE。
redis.googleapis.com/cluster/node/persistence/aof_fsync_lag 此指标显示了集群节点上内存与持久性存储之间的 AOF 延迟。仅适用于启用了 AOF 且 appendfsync=EVERYSEC 的集群
redis.googleapis.com/cluster/node/persistence/aof_rewrites_count 此指标显示集群节点中的 AOF 重写次数。如需检查 AOF 重写是否失败,您可以过滤 status_code 字段,查找以下错误:3 - INTERNAL_ERROR
redis.googleapis.com/cluster/node/persistence/aof_fsync_errors_count 此指标显示 AOF fsync() 调用错误的数量,仅适用于启用了 AOF 且 appendfsync=EVERYSEC|ALWAYS 的集群。

常见持久性指标

适用于 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 是热门分片。

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