支持的监控指标

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

Cloud Monitoring 指标

指标名称 说明
memorystore.googleapis.com/instance/clients/average_connected_clients 实例中所有节点的当前客户端连接数的平均值。
memorystore.googleapis.com/instance/clients/maximum_connected_clients 实例中单个节点当前的客户端连接数上限。
memorystore.googleapis.com/instance/clients/maximum_connection_duration 实例中单个节点的客户端连接时长上限。
memorystore.googleapis.com/instance/clients/total_connected_clients 与实例建立的当前客户端连接数。
memorystore.googleapis.com/instance/stats/total_connections_received_count 过去一分钟内创建的实例级客户端连接总数。
memorystore.googleapis.com/instance/stats/total_rejected_connections_count 因 maxclients 限制而被拒绝的连接数。
memorystore.googleapis.com/instance/commandstats/total_usec_count 每条命令的总用时。
memorystore.googleapis.com/instance/commandstats/total_calls_count 一分钟内对此命令的调用总次数。
memorystore.googleapis.com/instance/cpu/average_utilization 实例中所有节点的平均 CPU 利用率,介于 0.0 到 1.0 之间。
memorystore.googleapis.com/instance/cpu/maximum_utilization 实例中单个节点的最大 CPU 利用率,介于 0.0 到 1.0 之间。
memorystore.googleapis.com/instance/stats/average_expired_keys 实例中所有节点的主副本的键过期事件平均数。
memorystore.googleapis.com/instance/stats/maximum_expired_keys 主副本实例中单个节点的密钥过期事件数量上限。
memorystore.googleapis.com/instance/stats/total_expired_keys_count 实例中所有节点的主副本中发生的键过期事件的总数。
memorystore.googleapis.com/instance/stats/average_evicted_keys 因实例中所有节点的主副本内存容量而被逐出的键的平均数。
memorystore.googleapis.com/instance/stats/maximum_evicted_keys 主副本的内存容量而导致实例中单个节点被逐出的键的数量上限。
memorystore.googleapis.com/instance/stats/total_evicted_keys_count 因实例中所有节点的主副本内存容量而被逐出的键数。
memorystore.googleapis.com/instance/keyspace/total_keys 实例中存储的键数。
memorystore.googleapis.com/instance/stats/average_keyspace_hits 实例中所有节点成功查找键的平均次数。
memorystore.googleapis.com/instance/stats/maximum_keyspace_hits 实例中单个节点成功查找键的次数上限。
memorystore.googleapis.com/instance/stats/total_keyspace_hits_count 成功查找实例键的次数。
memorystore.googleapis.com/instance/stats/average_keyspace_misses 实例中所有节点的键查找失败的平均次数。
memorystore.googleapis.com/instance/stats/maximum_keyspace_misses 实例中单个节点的键查找失败次数上限。
memorystore.googleapis.com/instance/stats/total_keyspace_misses_count 实例键查找失败的总次数。
memorystore.googleapis.com/instance/memory/average_utilization 实例中所有节点的平均内存利用率。值介于 0.0 到 1.0 之间。
memorystore.googleapis.com/instance/memory/maximum_utilization 实例中单个节点的最大内存利用率,介于 0.0 到 1.0 之间。
memorystore.googleapis.com/instance/memory/total_used_memory 实例的总内存用量。
memorystore.googleapis.com/instance/memory/size 实例的内存大小。
memorystore.googleapis.com/instance/replication/average_ack_lag 实例中所有节点的副本的平均复制延迟时间(以秒为单位)。

复制延迟时间(以秒为单位)表示副本滞后于主副本的秒数。
memorystore.googleapis.com/instance/replication/maximum_ack_lag 实例中单个副本的最大复制确认延迟时间(以秒为单位)。

复制确认延迟时间(以秒为单位)表示复制确认滞后于主副本的时间。
memorystore.googleapis.com/instance/replication/average_offset_diff 实例中所有节点的平均复制确认偏移量差异(以字节为单位)。

复制确认偏移量差异是指副本与其主副本之间尚未复制的字节数。
memorystore.googleapis.com/instance/replication/maximum_offset_diff 实例中单个节点的最大复制偏移差异(以字节为单位)。

复制偏移差异是指副本与其主副本之间尚未复制的字节数。
memorystore.googleapis.com/instance/stats/total_net_input_bytes_count 实例端点接收的传入网络字节数。
memorystore.googleapis.com/instance/stats/total_net_output_bytes_count 从实例端点发送的传出网络字节数。

持久性指标

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

RDB 持久化指标

指标名称 说明
memorystore.googleapis.com/instance/persistence/load_count 实例(AOF 或 RDB)中从转储文件加载的累计次数。
memorystore.googleapis.com/instance/persistence/rdb_saves_count 此指标显示实例创建 RDB 快照(也称为保存)的累计次数。此指标包含 status_code 字段。如需检查快照是否失败,您可以过滤 status_code 字段,查看是否存在以下错误:3 - INTERNAL_ERROR
memorystore.googleapis.com/instance/persistence/rdb_last_success_ages 此指标显示的是实例中所有节点的分布快照的创建时间。理想情况下,您希望看到分布中的值的延迟时间短于(或等于)快照频率。
memorystore.googleapis.com/instance/persistence/rejected_writes_count 因无法持久化而被拒绝的写入命令在实例中的累计计数。

AOF 持久化指标

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

持久性指标的示例用例

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

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

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

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

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

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

解读 Memorystore for Valkey 的指标

如上表所示,许多指标都属于以下三个类别:平均值、最大值和总和。

对于 Memorystore for Valkey,我们会提供同一指标的平均值和最大值变化,以便您同时使用这两者来确定该指标族的热点。

该指标的总计值是独立的,可提供与平均值最大值的热点分析用途无关的单独数据洞见。

了解平均值和最大值指标

假设您要比较实例的 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 是热分片。