MemoryDB 的指标 - Amazon 内存 DB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

MemoryDB 的指标

Amazon/MemoryDB 命名空间包括以下指标。

ReplicationLagEngineCPUUtilizationSuccessfulWriteRequestLatencySuccessfulReadRequestLatency 外,这些指标源自 Valkey 和 Redis OSS 的 info 命令。每项指标都是按照节点级计算的。

有关 INFO 命令的完整文档,请参阅 INFO

另请参阅。

指标 描述 单位
ActiveDefragHits 活动碎片整理进程每分钟执行的值重新分配数。这是根据 INFOactive_defrag_hits 统计数据得出的。 数字
AuthenticationFailures 使用 AUTH 命令进行身份验证时的总失败尝试次数。您可以使用 ACL LOG 命令查找有关个人身份验证失败的更多信息。我们建议为此设置告警以检测未经授权的访问尝试。 计数
BytesUsedForMemoryDB MemoryDB 为所有目的(包括数据集、缓冲区等)分配的字节的总数。 字节
Dimension: Tier=SSD(对于使用 数据分层 功能的集群):SSD 所使用的总字节数。 字节
Dimension: Tier=Memory(对于使用 数据分层 功能的集群):内存所使用的总字节数。这是 INFOused_memory 统计数据的值。 字节
BytesReadFromDisk 每分钟从磁盘读取的总字节数。仅支持使用数据分层功能的集群。 字节
BytesWrittenToDisk 每分钟写入磁盘的总字节数。仅支持使用数据分层功能的集群。 字节
CommandAuthorizationFailures 用户运行其无权限调用的命令的失败尝试次数。您可以使用 ACL LOG 命令查找有关个人身份验证失败的更多信息。我们建议为此设置告警以检测未经授权的访问尝试。 计数
CurrConnections 客户端连接数,不包括来自只读副本的连接。MemoryDB 使用 2 至 4 个连接来监控各种情况下的集群。这是根据 INFOconnected_clients 统计数据得出的。 计数
CurrItems 缓存中的项目数。这是根据 keyspace 统计数据得出的,方法是计算整个键空间中所有键的总和。 计数
Dimension: Tier=Memory(对于使用数据分层功能的集群)。内存中的项目数。 计数
Dimension: Tier=SSD(固态硬盘)(对于使用功能的 Redis 集群)数据分层。SSD 中的项目数。 计数
DatabaseMemoryUsagePercentage 正在使用的集群的可用内存的百分比。这是使用 used_memory/maxmemory 根据 INFO 计算得出的。 百分比
DatabaseCapacityUsagePercentage

集群的总数据容量中正在使用的百分比。

在数据分层实例上,指标的计算方式为 (used_memory - mem_not_counted_for_evict + SSD used) / (maxmemory + SSD total capacity),其中 used_memorymaxmemory 取自 INFO

在所有其他情况下,使用 used_memory/maxmemory 计算指标。

百分比
DB0AverageTTL 根据 INFO 命令中的 keyspace 统计数据公开 DBO 的 avg_ttl 毫秒
EngineCPUUtilization

提供 Valkey 或 Redis OSS 引擎线程的 CPU 使用率。由于引擎为单线程,您可以使用该指标来分析该进程本身的负载。EngineCPUUtilization 指标更精确地呈现了该进程。您可以将其与 CPUUtilization 指标配合使用。CPUUtilization 公开服务器实例整体的 CPU 使用率,包括其他操作系统和管理流程。对于有四个或更多 vCPU 的较大节点类型,可使用 EngineCPUUtilization 指标来监控和设置扩展阈值。

注意

在 MemoryDB 主机上,后台进程将监控主机以提供托管式数据库体验。这些后台进程可能会占用很大一部分 CPU 工作负载。这在具有两个以上 vCPU 的大型主机上影响不大,但在 vCPU 个数不超过 2 个的小型主机上影响较大。如果仅监控 EngineCPUUtilization 指标,您将无法发现因 Valkey 或 Redis OSS 引擎或后台监控进程的 CPU 使用率过高而导致主机过载情况。因此,我们建议对于具有不超过两个 vCPU 的主机,还需要监控 CPUUtilization 指标。

百分比
Evictions 由于 maxmemory 限制而被驱逐的密钥数。这是根据 INFOevicted_keys 统计数据得出的。 计数
IsPrimary 指示节点是否为当前分片的主节点。指标可以是 0(非主节点)或 1(主节点)。 计数
KeyAuthorizationFailures 用户访问其无权限访问的密钥的失败尝试次数。您可以使用 ACL LOG 命令查找有关个人身份验证失败的更多信息。我们建议为此设置告警以检测未经授权的访问尝试。 计数
KeyspaceHits 主字典中成功的只读键查找次数。这是根据 INFOkeyspace_hits 统计数据得出的。 计数
KeyspaceMisses 主字典中失败的只读键查找次数。这是根据 INFOkeyspace_misses 统计数据得出的。 计数
KeysTracked 键跟踪所跟踪的键数占 tracking-table-max-keys 的百分比。密钥跟踪用于帮助客户端侧缓存,并在修改密钥时通知客户端。 计数
MaxReplicationThroughput 观测到的最大吞吐量。吞吐量在短时间间隔内采样以识别流量突发。报告采样值中的最大值。采样频率为 1 分钟。例如,如果在 10 毫秒期间写入了 1MB 数据,则此指标的值将为 100 MB/秒。请注意,当此指标超过 100 MB/秒时,由于写入吞吐量限制,可能会观察到较高的写入延迟。 每秒字节数
MemoryFragmentationRatio 指示 Valkey 或 Redis OSS 引擎的内存分配效率。某些阈值将表示不同的行为。建议的值是让碎片化大于 1.0。这是根据 INFOmem_fragmentation_ratio statistic 计算得出的。 数字
MultiRegionClusterReplicationLag 在 MemoryDB 多区域集群中,MultiRegionClusterReplicationLag 测量从更新写入某个区域集群的多可用区事务日志,到该更新写入多区域集群中另一个区域集群的主节点之间所经过的时间。该指标在分片级别为每个源区域和目标区域对发出。 毫秒
NewConnections 在此期间,服务器接受的连接总数。这是根据 INFOtotal_connections_received 统计数据得出的。 计数
NumItemsReadFromDisk 每分钟从磁盘检索的项目总数。仅支持使用数据分层功能的集群。 计数
NumItemsWrittenToDisk 每分钟写入磁盘的项目总数。仅支持使用数据分层功能的集群。 计数
PrimaryLinkHealthStatus 此状态有两个值:0 或 1。值为 0 表示 MemoryDB 主节点中的数据未与 EC2 上的 Valkey 或 Redis OSS 引擎同步。值为 1 表示数据已同步。 布尔值
Reclaimed 密钥过期事件的总数。这是根据 INFOexpired_keys 统计数据得出的。 计数
ReplicationBytes 对于重复配置中的节点,ReplicationBytes 报告主项向其所有副本发送的字节数。此指标代表集群上的写入负载。这是根据 INFOmaster_repl_offset 统计数据得出的。 字节
ReplicationDelayedWriteCommands 由于同步复制而延迟的写入命令数。复制会由于各种因素而延迟,例如网络拥塞或超过最大复制吞吐量 计数
ReplicationLag 该指标仅适用于作为只读副本运行的节点。它代表副本在应用主节点的改动方面滞后的时间(以秒为单位)。
SuccessfulWriteRequestLatency

成功写入请求的延迟。

有效统计量:平均值、总和、最小值、最大值、样本数、p0 到 p100 之间的任何百分位数。样本数仅包括成功执行的命令。可从 Valkey 7.2 开始使用

微秒
SuccessfulReadRequestLatency

成功读取请求的延迟。

有效统计量:平均值、总和、最小值、最大值、样本数、p0 到 p100 之间的任何百分位数。样本数仅包括成功执行的命令。可从 Valkey 7.2 开始使用

微秒
ErrorCount

指定时间段内失败命令的总数。

有效统计量:平均值、总和、最小值、最大值

计数

以下是一些类型的命令的集合,派生自 info commandstats。commandstats 部分根据命令类型提供统计信息,包括调用次数。

有关可用命令的完整列表,请参阅命令

指标 描述 单位
EvalBasedCmds 基于 eval 的命令的命令总数。这是根据 commandstats 统计数据得出的,方式是计算 evalevalsha 的总和。 计数
GeoSpatialBasedCmds 基于地理空间的命令的命令总数。这是根据 commandstats 统计数据得出的。它是通过汇总所有地理类型的命令的总和得出的:geoaddgeodistgeohashgeoposgeoradiusgeoradiusbymember 计数
GetTypeCmds read-only 类型命令的总数。这是根据 commandstats 统计数据得出的,方法是计算所有 read-only 类型命令(gethgetscardlrange 等)的总和。 计数
HashBasedCmds 基于哈希的命令总数。这是根据 commandstats 统计数据得出的,方法是计算所有作用于一个或多个哈希的命令(hgethkeyshvalshdel 等)的总和。 计数
HyperLogLogBasedCmds 基于 HyperLogLog 的命令的总数。这是根据 commandstats 统计数据得出的,方法是计算所有 pf 类型的命令(pfaddpfcountpfmerge 等)的总和。 计数
JsonBasedCmds 基于 JSON 的命令总数。这是根据 commandstats 统计数据得出的,方式是计算所有作用于一个或多个 JSON 文档对象的命令的总和。 计数
KeyBasedCmds 基于密钥的命令总数。这是根据 commandstats 统计数据得出的,方法是计算所有作用于多个数据结构中的一个或多个键的命令(delexpirerename 等)的总和。 计数
ListBasedCmds 基于列表的命令总数。这是根据 commandstats 统计数据得出的,方法是计算所有作用于一个或多个列表的命令(lindexlrangelpushltrim 等)的总和。 计数
PubSubBasedCmds 用于发布/订阅功能的命令总数。这是根据 commandstats 统计数据得出的,方式是计算所有用于发布/订阅功能的命令(psubscribepublishpubsubpunsubscribesubscribeunsubscribe)的总和。 计数
SearchBasedCmds 二级索引和搜索命令的总数,包括读取和写入命令。这是根据 commandstats 统计数据得出的,方式是计算所有作用于二级索引的搜索命令的总和。 计数
SearchBasedGetCmds 二级索引和搜索只读命令的总数。这是根据 commandstats 统计数据得出的,方式是计算所有二级索引和搜索获取命令的总和。 计数
SearchBasedSetCmds 二级索引和搜索写入命令的总数。这是根据 commandstats 统计数据得出的,方式是计算所有二级索引和搜索集命令的总和。 计数
SearchNumberOfIndexes 索引的总数。 计数
SearchNumberOfIndexedKeys 已编入索引的键的总数 计数
SearchTotalIndexSize 所有索引占用的内存(字节)。 字节
SetBasedCmds 基于设置的命令总数。这是根据 commandstats 统计数据得出的,方法是计算所有作用于一个或多个集合的命令(scardsdiffsaddsunion 等)的总和。 计数
SetTypeCmds write 类型命令的总数。这是根据 commandstats 统计数据得出的,方法是计算对数据执行操作的所有 mutative 类型的命令(sethsetsaddlpop 等)的总和。 计数
SortedSetBasedCmds 基于设置的已排序命令总数。这是根据 commandstats 统计数据得出的,方法是计算所有作用于一个或多个已排序集合的命令(zcountzrangezrankzadd 等)的总和。 计数
StringBasedCmds 基于字符串的命令总数。这是根据 commandstats 统计数据得出的,方法是计算所有作用于一个或多个字符串的命令(strlensetexsetrange 等)的总和。 计数
StreamBasedCmds 基于流的命令总数。这是根据 commandstats 统计数据得出的,方法是计算所有作用于一个或多个流数据类型的命令(xrangexlenxaddxdel 等)的总和。 计数