本页面列出了 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_hits
和 maximum_keyspace_hits
值。这两个指标之间的差值越大,表示您的实例中命中次数的热点效应越明显。理想情况下,您应该有一个介于 average_keyspace_hits
和 maximum_keyspace_hits
之间的接近值,因为这表示命中次数在您的实例中分布得更均匀。
此原则适用于所有具有相同指标的平均值和最大值变体的指标。
热点示例
如果您比较集群中所有分片的 average_keyspace_hits
和 maximum_keyspace_hits
,则比较这些值可以指示热点出现在何处。例如,假设一个 6 分片集群中的分片具有以下命中次数:
- 分片 1 - 2 次命中
- 分片 2 - 2 次命中
- 分片 3 - 2 次命中
- 分片 4 - 2 次命中
- 分片 5 - 2 次命中
- 分片 6 - 8 次命中
在此示例中,average_keyspace_hits
返回的值为 3,maximum_keyspace_hits
返回的值为 8,表示分片 6 是热门分片。
我们提供节点级指标,您可以使用这些指标来识别集群中的热点。