支持的监控指标

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

如需了解如何查看这些指标,请参阅监控实例

Backup 指标

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

实例级指标

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

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

Bloom 过滤器和 JSON 指标

本部分列出了 Bloom 过滤器JSON 文档的节点级指标。

节点级指标

这些指标可提供有关 Bloom 过滤器对象和 JSON 文档总数以及这些过滤器和文档消耗的内存量的详细数据洞见。

指标名称 说明
memorystore.googleapis.com/instance/node/bloomfilter/objects_count 此指标用于衡量插入到实例中的 Bloom 过滤器对象的总数。
memorystore.googleapis.com/instance/node/bloomfilter/used_memory 此指标用于衡量 Bloom 过滤器消耗的内存量。为防止超出实例的容量限制,您可以使用该指标来跟踪伸缩过滤器的内存增长情况。当实例的内存容量超出时,这些过滤器会添加子过滤器。
memorystore.googleapis.com/instance/node/json/documents_count 此指标用于衡量实例节点上的 JSON 文档总数。您可以使用此指标来跟踪数据分布和容量,因为此指标会显示在节点级层面上索引、删除或合并的文档数量。
memorystore.googleapis.com/instance/node/json/used_memory 此指标用于衡量 JSON 文档消耗的内存量(以字节为单位或以可用内存的百分比表示)。您可以使用此指标来监控容量、识别内存受限的节点,并触发伸缩操作。

证书授权机构 (CA) 指标

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

实例级指标

这些指标可大致了解与实例中的机器相关联的证书。

指标名称 说明
memorystore.googleapis.com/instance/security/rotate_tls_cert_count

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

指标可具有以下状态:

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

Cloud Monitoring 指标

本部分列出并介绍了适用于 Memorystore for Valkey 的 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 此指标用于衡量每个命令消耗的总 CPU 时间。该指标表示使用的总微秒数,可帮助您深入了解实例的性能和延迟时间。
memorystore.googleapis.com/instance/commandstats/total_calls_count 此指标衡量的是实例节点上与特定命令相关联的调用在一分钟内的总次数。如需确定特定命令的瓶颈或高流量,您可以使用此指标来监控主节点和复制节点上的命令吞吐量(每分钟的命令数)。
memorystore.googleapis.com/instance/cpu/average_utilization 此指标显示实例的平均 CPU 利用率(范围为 0.0 到 1.0)。您可以使用此指标来识别资源过度配置或利用不足的情况、管理自动伸缩阈值,并检测性能瓶颈,理想的利用率为 40%-70%。
memorystore.googleapis.com/instance/cpu/maximum_utilization

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

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

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

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)。您可以使用该指标来监控实例的容量并设置提醒阈值。例如,您可以设置提醒阈值,以便在平均内存超过特定百分比(例如 80%)时通知用户。
memorystore.googleapis.com/instance/memory/maximum_utilization 此指标显示所有实例节点的最大内存利用率(范围为 0.0 到 1.0)。您可以使用该指标来确定何时扩缩实例。我们建议您监控使用情况,确保使用率保持在 100% 以下。在高写入负载下,如果此指标达到 65% 至 85%,性能可能会下降。
memorystore.googleapis.com/instance/memory/total_used_memory 此指标显示实例的总内存用量(以字节为单位)。您可以使用此指标监控实例的容量。
memorystore.googleapis.com/instance/memory/size 此指标用于衡量实例中所有节点的总 RAM、已用 RAM 和可用 RAM。您可以使用该指标来监控实例的容量并防止节点故障。
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 此指标显示了实例的端点发送的传出网络字节数。

节点级指标

这些指标可提供有关实例中各个节点的运行状况和性能的详细数据洞见。您可以使用这些指标排查节点问题,以优化其性能。

指标名称 说明
memorystore.googleapis.com/instance/node/clients/connected_clients 此指标表示与实例节点的活跃客户端连接数,不包括副本连接。您可以使用此指标来监控连接限制,并识别分片接收的流量不成比例的热点。
memorystore.googleapis.com/instance/node/clients/blocked_clients 此指标显示实例节点阻止的客户端连接数。如果被阻止的客户端连接数较高或快速增加,可能表明许多客户端正在等待操作。这可能会导致延迟时间增加。
memorystore.googleapis.com/instance/node/server/uptime 此指标用于衡量实例节点的正常运行时间。您可以使用该指标来跟踪服务器在不重启或不发生故障的情况下持续运行的时间。
memorystore.googleapis.com/instance/node/stats/connections_received_count 此指标用于跟踪在指定时间段内实例节点上创建的客户端连接总数。您可以使用此指标来监控实例中各个节点的连接流量。这样一来,您就可以分析负载分布情况,并识别连接活动中的峰值。
memorystore.googleapis.com/instance/node/stats/rejected_connections_count 此指标显示了因实例节点达到 maxclients 上限而遭拒的连接数。您可以使用此指标来确定节点是否承受着高连接压力,并因无法处理更多连接而拒绝新连接。
memorystore.googleapis.com/instance/node/commandstats/usec_count 此指标显示每个命令在实例节点中消耗的总时间。您可以使用此指标分析命令的性能、识别缓慢的命令,以及排查节点级别的延迟问题。
memorystore.googleapis.com/instance/node/commandstats/calls_count 此指标用于跟踪实例节点上相应命令每分钟的调用总次数。您可以使用该指标来监控流量分布、识别常用命令,以及排查各个节点上的瓶颈。
memorystore.googleapis.com/instance/node/cpu/utilization 此指标显示实例节点的 CPU 利用率(范围为 0.0 到 1.0)。
memorystore.googleapis.com/instance/node/stats/expired_keys_count 此指标显示实例节点中的过期事件总数。您可以使用此指标来监控键因存留时间 (TTL) 达到零而从实例中移除的速率。
memorystore.googleapis.com/instance/node/stats/evicted_keys_count 此指标用于统计实例节点因达到最大内存限制而逐出的键的总数。该指标可用于确定实例是否面临内存压力。被逐出的键数量较高或不断增加,表示实例空间不足。因此,实例会移除键以腾出空间来存储新数据。
memorystore.googleapis.com/instance/node/keyspace/total_keys 此指标用于衡量实例节点存储的键总数。通过此指标,您可以了解节点之间的数据分布和分片情况。
memorystore.googleapis.com/instance/node/stats/keyspace_hits_count 此指标用于跟踪实例节点上成功执行的键查找次数。您可以使用该指标来监控节点检索内存中数据的效率。
memorystore.googleapis.com/instance/node/stats/keyspace_misses_count 此指标用于跟踪实例节点上键查找失败的次数。
memorystore.googleapis.com/instance/node/memory/utilization 此指标用于跟踪实例节点中的内存利用率(范围为 0.0 到 1.0)。您可以使用该指标来防止节点故障并确保实例的稳定性。
memorystore.googleapis.com/instance/node/memory/usage 此指标用于衡量实例节点的总内存用量。
memorystore.googleapis.com/instance/node/stats/net_input_bytes_count 此指标用于衡量实例节点接收的传入网络字节总数。您可以使用此指标来监控网络吞吐量、识别潜在的瓶颈,以及分析节点上的流量高峰。
memorystore.googleapis.com/instance/node/stats/net_output_bytes_count 此指标用于衡量实例节点发送的总出站网络字节数。您可以使用此指标监控节点的网络出站流量,以便进行性能调优和容量规划。
memorystore.googleapis.com/instance/node/replication/offset 此指标衡量实例节点的复制偏移字节数。 在将实例的副本提升为主实例之前,您可以使用该指标检查副本是否处理了所有数据。这样可以防止数据丢失。
memorystore.googleapis.com/instance/node/server/healthy 此指标用于确定实例节点是否可用且运行正常。
memorystore.googleapis.com/instance/node/migration_status 此指标与将自行管理的 Redis 和 Valkey 实例的工作负载迁移到 Memorystore for Valkey 相关联。您可以使用此指标来确定在迁移过程中,源实例和目标实例的分片之间的复制链接是否正常运行且处于活动状态。
memorystore.googleapis.com/instance/node/migration_received_bytes_size 此指标显示目标实例的节点接收的字节数。该指标用于衡量迁移期间流入节点的数据量。您可以使用该指标来监控迁移过程中数据同步的进度。
memorystore.googleapis.com/instance/node/migration_link_reconnect_count 此指标用于衡量迁移重新连接尝试次数。您可以使用此指标来确定目标实例尝试重新连接到源实例的频率,以便进行迁移。
memorystore.googleapis.com/instance/node/stats/evicted_clients_count 此指标用于跟踪因所有客户端缓冲区消耗的内存总量超过预定义的内存阈值而导致 Memorystore for Valkey 断开连接的客户端总数。您可以使用此指标作为保护机制,防止客户端的内存用量失控,从而避免服务器内存耗尽并触发崩溃。
memorystore.googleapis.com/instance/node/clients/tracking_clients 此指标用于跟踪已注册接收服务器端跟踪和失效消息的活跃 Valkey 客户端的数量。您可以使用此指标来监控和调试客户端缓存实现,以确保服务器跟踪按预期运行。
memorystore.googleapis.com/instance/node/clients/maxclients 此指标显示了 Memorystore for Valkey 允许在实例节点上建立的并发客户端连接数上限。
memorystore.googleapis.com/instance/node/clients/recent_max_input_buffer 此指标报告用于处理所有有效连接中的单个传入客户端命令的最大内存缓冲区(以字节为单位)。您可以使用该指标跟踪连接稳定性并防止内存膨胀。 如果特定客户端的输入缓冲区空间大小始终达到上限,则可能会导致整个实例的网络停滞或连接断开。
memorystore.googleapis.com/instance/node/clients/recent_max_output_buffer 此指标衡量的是最近连接到服务器的客户端连接中最长的输出列表(以字节为单位)。此指标是服务器健康状况的重要指示器,因为它可以识别请求大量数据的客户端,这些客户端请求数据的速度快于服务器向其发送数据的速度。
memorystore.googleapis.com/instance/node/commandstats/rejected_calls_count 此指标显示服务器在运行之前拒绝的 Valkey 命令(调用)数量。这些调用由前提条件触发,例如命令中存在语法错误,或者在实例内存不足 (OOM) 时运行内存受限的命令。
memorystore.googleapis.com/instance/node/commandstats/failed_calls_count 此指标用于跟踪实例节点上失败的操作次数。您可以使用此指标来评估客户端应用是否传递了不正确的参数,或者是否与数据集架构不同步。此外,您还可以诊断失败次数的增加是否与命令降级相关。
memorystore.googleapis.com/instance/node/keyspace/keys_with_expiration 此指标用于跟踪实例中设置了存留时间 (TTL) 或过期时间戳的有效键的数量。您可以使用该指标来监控缓存限制、内存用量和会话管理。
memorystore.googleapis.com/instance/node/memory/dataset_usage 此指标衡量的是实例节点中的数据集或主要数据对象所消耗的内存量。
memorystore.googleapis.com/instance/node/memory/mem_not_counted_for_evict

此指标显示服务器在评估密钥逐出所需的内存时排除的内存量。

当 Memorystore for Valkey 计算是否需要逐出键时,它会将总分配内存 (used_memory) 与配置的 maxmemory 限制进行比较。不过,此等式中减去了 mem_not_counted_for_evict 的值。

memorystore.googleapis.com/instance/node/memory/number_of_cached_scripts 此指标用于跟踪服务器在实例节点上缓存的 EVAL 脚本总数。您可以使用此指标来监控实例中与 Lua 脚本相关的开销。
memorystore.googleapis.com/instance/node/memory/number_of_functions 此指标用于跟踪在实例节点上定义的功能总数。您可以使用该指标深入了解实例中 Valkey Functions 功能的使用情况。
memorystore.googleapis.com/instance/node/memory/lua_usage 此指标用于跟踪 Lua 在实例节点上用于 EVAL 脚本的字节数。
memorystore.googleapis.com/instance/node/memory/replica_clients_usage

此指标用于跟踪复制客户端在实例节点上消耗的内存量(以字节为单位)。该指标衡量的是复制客户端使用的内存。

由于副本缓冲区与复制积压共享内存,因此当副本不会导致内存用量超出为积压分配的内存时,该指标可能会报告 0 的值。

memorystore.googleapis.com/instance/node/memory/normal_clients_usage 此指标用于跟踪非副本客户端在实例节点上使用的内存量(以字节为单位)。该指标衡量的是非副本客户端连接的内存消耗量。
memorystore.googleapis.com/instance/node/memory/peak_usage 此指标用于跟踪 Memorystore for Valkey 在实例节点上消耗的峰值内存。该指标用于衡量 Memorystore for Valkey 自上次启动以来使用的最大内存量(以字节为单位)。
memorystore.googleapis.com/instance/node/memory/rss_usage

此指标用于跟踪实例节点上 Memorystore for Valkey 的常驻集大小 (RSS) 用量。该指标表示 Memorystore for Valkey 分配的字节数。

监控 RSS 用量至关重要,因为它可以反映实际的物理 RAM 用量,从而检测到内存碎片过多。例如,如果 RSS 接近实例的容器限制,则可能会导致 OOM 问题。

memorystore.googleapis.com/instance/node/memory/scripts_usage 此指标用于跟踪实例节点上与脚本相关的内存开销。该指标用于衡量 EVAL 和 Valkey 函数脚本使用的内存开销(以字节为单位)。此内存被视为实例的总体
used_memory 的一部分。
memorystore.googleapis.com/instance/node/memory/maxmemory_policy 此指标用于跟踪实例节点的逐出政策配置。该指标会报告节点的当前 maxmemory-policy 设置,该设置决定了当 Memorystore for Valkey 达到 maxmemory 限制时,如何选择要逐出的键。
memorystore.googleapis.com/instance/node/persistence/aof_enabled 此指标表示实例节点上是否启用了仅附加文件 (AOF) 持久性。
memorystore.googleapis.com/instance/node/persistence/async_loading 此指标用于指示 Memorystore for Valkey 是否在提供现有数据的同时异步加载复制数据集。该指标用于跟踪 Memorystore for Valkey 加载数据集的状态。当 repl-diskless-load 配置已启用并设置为 swapdb 时,会发生此情况。
memorystore.googleapis.com/instance/node/persistence/loading 此指标用于指示 Memorystore for Valkey 是否在实例节点上加载转储文件。您可以使用此指标来评估 Memorystore for Valkey 是否从持久性存储空间(例如 Redis 数据库 [RDB] 快照或 AOF 文件)加载数据。
memorystore.googleapis.com/instance/node/persistence/current_cow_peak

此指标用于跟踪实例节点上子进程分叉期间与写入时复制 (COW) 操作相关的峰值内存使用量。该指标用于衡量子 fork 运行时 COW 内存的最大大小(以字节为单位)。这种情况发生在涉及派生进程的操作期间,例如创建 RDB 快照或执行 AOF 重写。

监控 COW 峰值大小对于容量规划和防止 OOM 问题非常重要,因为在 fork 进程期间,节点的总内存使用量会增加,增加的量为 fork 处于活动状态时修改的数据量。

memorystore.googleapis.com/instance/node/persistence/current_cow_size

此指标用于跟踪子 fork 进程在实例节点上处于活动状态时 COW 内存的当前大小。该指标用于衡量在 fork 进程(例如创建 RDB 快照或执行 AOF 重写)期间复制的内存大小(以字节为单位)。

您可以使用此指标来监控正在进行的 fork 的实时内存开销。

memorystore.googleapis.com/instance/node/persistence/rdb_last_bgsave_time_sec

此指标用于跟踪实例节点上 RDB 的最新后台保存 (BGSAVE) 操作的持续时间。该指标用于衡量上次 RDB 保存操作完成所用的时间(以秒为单位)。

您可以使用该指标来监控持久性操作的性能影响,尤其是在维护或扩缩事件期间。

memorystore.googleapis.com/instance/node/persistence/rdb_last_cow_size

此指标用于跟踪实例节点上最近一次 RDB 保存操作期间的 COW 内存大小。该指标用于衡量在后台创建上一个 RDB 快照时复制的内存量(以字节为单位)。

您可以使用此指标来调试维护或配置更新期间可能出现的完整同步问题,因为此指标可提供有关持久性进程内存开销的深入分析。

memorystore.googleapis.com/instance/node/persistence/current_fork_percentage 此指标用于跟踪实例节点上当前 fork 进程的进度。该指标表示活跃 fork 操作(例如用于 RDB 快照或 AOF 重写的操作)的完成百分比。
memorystore.googleapis.com/instance/node/persistence/aof_rewrite_in_progress 此指标可实时提供 Memorystore for Valkey 是否在实例节点上执行 AOF 重写的状态(1 表示 true,0 表示 false)。您可以使用此指标来确定后台 AOF 操作是否会导致延迟或内存使用量明显增加。重写操作可能会触发瞬时负载峰值。

memorystore.googleapis.com/instance/node/persistence/aof_last_cow_size

此指标用于跟踪在实例节点上最近一次 AOF 重写操作期间使用的 COW 内存大小。该指标用于衡量 Memorystore for Valkey 在执行上次后台 AOF 重写时复制的内存量(以字节为单位)。

您可以使用该指标在持久性操作期间监控 COW 内存大小。这对于容量规划至关重要,因为在 fork 处于活跃状态时,节点总内存用量会因修改的数据量而增加。如果您不管理 COW 内存,则可能会遇到实例的 OOM 问题。

memorystore.googleapis.com/instance/node/persistence/aof_last_rewrite_time_sec 此指标用于衡量实例节点上最近一次后台 AOF 重写操作完成所花费的时间(以秒为单位)。您可以使用此指标评估后台 AOF 持久化对性能的影响,并了解重写操作导致的瞬时负载峰值的持续时间。
memorystore.googleapis.com/instance/node/errorstats/errors_count 此指标可提供从 Memorystore for Valkey 内部统计信息的 ERRORSTATS 部分派生的错误细化视图。该指标用于衡量一段时间内错误数量的变化。
memorystore.googleapis.com/instance/node/stats/acl_access_denied_auths_count 此指标报告在某个时间段内,因访问权限控制列表 (ACL) 拒绝访问而导致的身份验证失败总次数。
memorystore.googleapis.com/instance/node/stats/expire_cycle_cpu_millisecond_count 此指标用于衡量在某个时间段内,CPU 在活跃过期周期上花费的累计时间。
memorystore.googleapis.com/instance/node/stats/expired_keys_percentage 此指标显示了某个时间点的估计过期键百分比。该指标可提供有关过期流程的深入分析。如果该百分比一直很高,则表示 Memorystore for Valkey 可能未分配足够的后台 CPU 周期来跟上键过期速度。
memorystore.googleapis.com/instance/node/stats/expired_time_cap_reached_count 此指标用于衡量在某个时间段内达到时间限制的累计周期数。此指标的值较高或不断增加通常与过期键导致的高内存用量相关。为了保持数据集的健康状态,可能需要更多后台 CPU 周期。
memorystore.googleapis.com/instance/node/stats/pubsub_channels 此指标显示具有客户端订阅的 Pub/Sub 渠道的全球数量。
memorystore.googleapis.com/instance/node/stats/pubsub_patterns 此指标显示具有客户端订阅的 Pub/Sub 模式的全球数量。
memorystore.googleapis.com/instance/node/stats/pubsubshard_channels 此指标显示具有客户端订阅的 Pub/Sub 分片渠道的全球数量。
memorystore.googleapis.com/instance/node/stats/total_fork_count

此指标用于衡量某个时间段内 fork 总数的变化。该指标是 Memorystore for Valkey 后台活动的关键指标。

您可以使用该指标来监控 fork 频率,以便进行容量规划,因为每个 fork 进程都涉及 COW 内存。COW 内存会增加实例节点的总体内存占用量。

memorystore.googleapis.com/instance/node/stats/tracking_total_keys 此指标显示了 Memorystore for Valkey 跟踪的键的数量。此指标是服务器端跟踪功能的一个组成部分,可让客户端维护一个本地缓存,当 Memorystore for Valkey 上的键发生更改时,该缓存会失效。
memorystore.googleapis.com/instance/node/stats/tracking_total_items 此指标显示了 Memorystore for Valkey 跟踪的商品总数。该指标表示观看每个键的所有客户端的总和。
memorystore.googleapis.com/instance/node/stats/tracking_total_prefixes 此指标显示在 Memorystore for Valkey 的 prefix 表中跟踪的前缀数量。
redis.googleapis.com/cluster/node/stats/latest_fork_usec 此指标显示了最新 fork 操作的持续时间(以微秒为单位)。
memorystore.googleapis.com/instance/node/replication/primary_sync_in_progress

此指标显示主实例是否正在与副本同步。值 1 表示正在同步;值 0 表示实例未与副本同步。

您可以使用此指标排查数据一致性问题,并了解横向扩缩或维护事件的进度。

memorystore.googleapis.com/instance/node/replication/sync_partial_ok_count 此指标用于衡量成功的部分重新同步尝试次数。
memorystore.googleapis.com/instance/node/replication/sync_partial_err_count

此指标用于衡量部分重新同步失败的尝试次数。

您可以使用此指标来指示复制运行状况。当部分重新同步失败时,副本必须执行完全重新同步。这需要在主实例上创建 RDB 快照,并通过网络传输整个数据集。

memorystore.googleapis.com/instance/node/replication/sync_full_count

此指标用于衡量主实例与副本之间的完全重新同步次数的变化。当部分重新同步失败时,系统会进行完全重新同步。当主实例上的复制积压不足以容纳副本在断开连接期间丢失的数据时,就会发生这种情况。

您可以使用该指标来诊断实例的复制运行状况和容量问题。

memorystore.googleapis.com/instance/node/memory/maxmemory

此指标反映了实例节点的 maxmemory 配置设置,即 Memorystore for Valkey 可消耗的最大内存量。此设置决定了 Memorystore for Valkey 何时开始逐出键,具体取决于为 maxmemory-policy 配置的设置。

您可以使用此指标进行容量规划和排查 OOM 问题,因为此指标定义了数据存储和服务器开销的内存用量上限。

如需详细了解 maxmemorymaxmemory-policy 设置,请参阅可修改的配置参数

memorystore.googleapis.com/instance/node/clients/pubsub_clients

此指标显示 Pub/Sub 客户端的数量。您可以使用此指标来评估总体客户端负载以及专用于实时消息传递的资源用量。

memorystore.googleapis.com/instance/node/clients/watching_clients

此指标显示处于观看模式的客户端数量。观看客户端表示存在活跃的多键事务,这些事务依赖于乐观并发控制来确保数据完整性。

memorystore.googleapis.com/instance/node/stats/evicted_scripts_count

此指标显示了 Memorystore for Valkey 因最近最少使用 (LRU) 逐出政策而逐出的 EVAL 脚本数量。当 Memorystore for Valkey 必须根据配置的缓存限制和逐出政策为其他脚本或数据释放内存时,就会发生逐出。

memorystore.googleapis.com/instance/node/stats/client_query_buffer_limit_disconnections_count

此指标显示因客户端达到查询缓冲区限制而断开连接的总次数。您可以使用此指标作为一种保护机制,防止客户端过度使用内存用量。过度使用内存用量可能会导致服务器内存耗尽并触发崩溃。

memorystore.googleapis.com/instance/node/stats/client_output_buffer_limit_disconnections_count

此指标显示了因客户端达到输出缓冲区限制而断开连接的总次数。

您可以使用该指标来监控输出缓冲区断开连接的情况。 监控这些断开连接对于保持服务器的稳定性至关重要,因为大型输出缓冲区是导致意外内存压力和 OOM 问题的常见原因。

跨区域复制指标

本部分列出了跨区域复制指标并对其进行了说明。

指标名称 说明
memorystore.googleapis.com/instance/cross_instance_replication/secondary_replication_links 此指标显示了主实例与次要实例之间的分片链接数量。在跨区域复制组中,主实例会报告其与组中次要实例之间的跨区域复制链接数量。对于每个次要实例,此数量应等于分片数量。如果此数量低于分片数量,则此指标会标识复制器与跟随者之间停止复制时的分片数量。在理想状态下,此指标的值与主实例的分片数量相同。
memorystore.googleapis.com/instance/cross_instance_replication/secondary_maximum_replication_offset_diff 此指标显示主分片和次分片之间的最大复制偏移差。
memorystore.googleapis.com/instance/cross_instance_replication/secondary_average_replication_offset_diff 此指标显示主分片和次分片之间的平均复制偏移差。

持久性指标

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

RDB 持久性指标

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

实例级指标

本部分列出了实例级 RDB 持久性指标并对其进行了说明。

指标名称 说明
memorystore.googleapis.com/instance/persistence/rdb_saves_count

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

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

memorystore.googleapis.com/instance/persistence/rdb_last_success_ages 此指标显示了实例中所有节点的分布快照年龄。对于恢复突发事件,您可以使用该指标查看数据过时的时间范围。理想情况下,分布中的值应小于(或等于)快照频率。

节点级指标

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

AOF 持久性指标

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

实例级指标

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

指标名称 说明
memorystore.googleapis.com/instance/persistence/aof_fsync_lags

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

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

memorystore.googleapis.com/instance/persistence/aof_rewrite_count

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

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

节点级指标

本部分列出了节点级 AOF 持久性指标并对其进行了说明。

指标名称 说明
memorystore.googleapis.com/instance/node/persistence/aof_last_write_status 此指标显示实例节点上上次对 AOF 文件执行的写入操作的状态。如果状态为 TRUE,则表示写入操作成功。您可以使用此指标验证 Memorystore for Valkey 是否成功持久保留数据。
memorystore.googleapis.com/instance/node/persistence/aof_last_bgrewrite_status 此指标显示实例节点上上次 AOF bgrewrite 操作的状态。如果状态为 TRUE,则表示操作成功。
memorystore.googleapis.com/instance/node/persistence/aof_fsync_lag

此指标用于衡量实例节点从将数据写入 AOF 到成功将该数据同步到持久存储之间的时间差(或滞后时间)。

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

memorystore.googleapis.com/instance/node/persistence/aof_rewrites_count

此指标用于跟踪实例节点触发 AOF 重写操作的累计次数。您可以使用该指标来诊断效果问题。AOF 重写频率过高可能会导致实例的延迟时间增加或内存不足。

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

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

常见持久性指标

本部分列出并介绍了适用于 AOF 和 RDB 持久性的指标。

节点级指标

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

指标名称 说明
memorystore.googleapis.com/instance/node/persistence/auto_restore_count

此指标用于跟踪实例节点从持久性转储文件(AOF 或 RDB)自动恢复的累计次数。

该指标具有 status_code 字段。如需检查恢复是否失败,请按 2 - INTERNAL_ERROR 状态过滤此字段。

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

本部分介绍了 AOF 和 RDB 持久性指标的示例使用场景。

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

假设您检测到某个实例或该实例中的某个节点的延迟时间或内存用量有所增加。如果出现这种情况,请检查额外用量是否与 AOF 持久性相关。

AOF 重写操作可能会触发瞬时负载高峰。我们建议您检查 aof_rewrites_count 指标,因为此指标可提供实例或实例节点生命周期内的 AOF 重写累计次数。

假设此指标显示,重写次数的增加与延迟时间的增加相对应。如需降低重写频率,请降低写入速率或增加分片数量。

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

假设您检测到某个实例或该实例中的某个节点的延迟时间或内存用量有所增加。如果出现这种情况,请检查额外用量是否与 RDB 持久性相关。

RDB 保存操作可能会触发瞬时负载高峰。我们建议您检查 rdb_saves_count 指标,因为此指标可提供实例或实例节点生命周期内的 RDB 保存累计次数。

假设此指标显示,RDB 保存次数的增量与延迟时间的增加相对应。如需降低 RDB 保存的频率,请增加 RDB 快照间隔。此外,为了降低基准负载水平,请横向扩容实例。

解读 Memorystore for Valkey 的指标

许多指标都属于以下类别:平均值、最大值和总值。

我们提供了同一指标的平均值最大值变体,以便您可以使用这两个指标来确定相应指标系列的“热点”。

指标的总计值与指标的平均最大变异无关。此值提供的分析洞见与热点变异的目的无关。

了解平均指标和最大指标

假设您要比较某个实例的 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 是一个热点,因为它处理的流量比例过高。