监控项说明

本文介绍云数据库MongoDB实例监控、节点监控、高级监控和性能趋势功能支持的监控项、监控指标及其具体含义。

说明

为了更好地展示效果,部分控制台上的Bytes单位会自动为您折算成MB、GBTB单位。

实例监控

说明

不同类型实例支持的监控项请以控制台为准。

监控项

key

指标名

指标含义

单位

详细说明

支持的实例类型

磁盘空间使用率

DiskUsage

disk_usage

磁盘使用率

%

实例的磁盘使用空间占磁盘总容量的比例,表示实例的磁盘负载。当您的磁盘使用率达到80%以上时,可在控制台实例详情页面变更实例配置或参考MongoDB实例空间使用率高问题进行处理。

  • 单节点

  • 副本集

  • 分片集群

  • Serverless

网络流量

MongoDB_Network

bytes_in

网络进口流量

Bytes

-

bytes_out

网络出口流量

Bytes

-

num_requests

处理的请求数

-

操作QPS

MongoDB_Opcounters

insert

插入操作QPS

MongoDB_Opcounters 参数包含实例收到的所有操作,不论操作是否成功执行。其中,Bulk.insert()类型的批量操作被记录为单条操作,更细粒度的记录可关注MongoDB_Documents 指标,

参考Opcounters指标和Repl Opcounters指标

query

查询操作QPS

update

更新操作QPS

delete

删除操作QPS

getmore

读取操作QPS

command

协议命令操作QPS

连接数

MongoDB_TotalConns

connections_active

当前活跃连接数

连接到server端的当前正在进行操作的客户端连接数量。

current_conn

当前连接数

连接到server端的所有客户端的连接数量,包含副本集内部其他节点建立的连接或mongosshard上建立的连接。

connections_totalCreated_ps

每秒新建连接的总数

-

  • 单节点

  • 副本集

  • 分片集群

connections_available

当前可用的连接数

-

连接数使用率

ConnectionUsage

conn_usage

连接数使用率

%

  • 实例当前连接数和最大连接数的比值,表示实例的连接负载。

  • 根据您购买的MongoDB实例规格不同,最大连接数也不同,详情请参见实例规格

  • 可在控制台实例详情页面变更实例配置来增大连接数限制或参考如何查询及限制连接数调整客户端的连接数。

CPU使用率

CpuUsage

cpu_usage

CPU使用率

%

系统CPU使用率与用户CPU使用率之和,表示实例的业务负载。CPU使用率过高会导致数据读写处理异常缓慢,影响正常业务,您可参考MongoDB实例CPU使用率高问题排查解决。

MongoDB_CpuDetail

cpu_sys

系统CPU使用率

%

-

cpu_user

用户CPU使用率

%

-

内存使用率

MemoryUsage

mem_usage

内存使用率

%

内存主要被Wiredtiger存储引擎和客户端连接及请求处理占用。可参考MongoDB实例内存使用率高问题查看内存使用率高的原因和优化策略。

IOPS使用量

MongoDB_IOPS

iops

IOPS使用量

次/秒

  • 4.2版本副本集云盘版实例以及4.2版本分片集群云盘版实例暂不支持查看IOPS使用量和IOPS使用率。

  • 旧版本监控中的data_iopslog_iops现合并为iops。

IOPS使用率

IOPSUsage

iops_usage

IOPS使用率

%

实例的IOPS使用量与当前规格最大IOPS的比值,表示实例的业务负载。如果MongoDB实例的IOPS使⽤率达到或接近100%,会导致业务响应缓慢,甚⾄业务不可⽤。MongoDB实例IOPS使用率高问题介绍了查看MongoDB实例IOPS使用率的方法,以及导致IOPS使用率高的原因和优化策略。

说明

4.2版本副本集云盘版实例以及4.2版本分片集群云盘版实例暂不支持查看IOPS使用量和IOPS使用率。

磁盘空间使用量

MongoDB_DetailedSpaceUsage

ins_size

磁盘使用空间

Bytes

  • 本地盘实例的磁盘使用空间为数据盘与日志盘使用空间之和。

  • 云盘实例的磁盘使用空间还包含文件系统的元数据占用信息。

data_size

数据盘使用空间

Bytes

数据磁盘使用空间(不包括local库),主要包括collection开头的数据物理⽂件,索引开头的索引物理⽂件和部分元数据物理⽂件,例如WiredTiger.wt。

log_size

日志盘使用空间

Bytes

local库的物理大小、mongodb运行日志大小和部分审计日志大小。

操作详情

MongoDB_OperationDetails

operation_exactIDCount_ps

针对特定ID进行计数操作的次数

针对数据分布在多个shard上的已分片集合,使用_id而非shardkey进行单个更新操作的次数。 在现有版本中,会导致遍历实例中所有chunks,当chunks数量较多时,可能会导致cpu打满,影响实例性能。

operation_scanAndOrder_ps

未用索引的排序操作数

无法使用索引执行排序操作的已排序查询的次数,数量较大时,可能会导致实例性能下降,可根据业务查询条件参考云数据库MongoDB版创建索引最佳实践处理。

operation_writeConflicts_ps

发生写冲突的次数

遭遇写冲突的查询次数。少量的写冲突一般不会产生很大影响,但是如果存在大量的写冲突,则可能导致数据库性能下降。

MBPS

MongoDB_Disk_Detail

read_io_bandwidth_mbps

磁盘读取的吞吐量

MB/秒

-

write_io_bandwidth_mbps

磁盘写入的吞吐量

MB/秒

-

io_bandwidth_mbps

磁盘总吞吐量

MB/秒

磁盘读取吞吐量与磁盘写入吞吐量之和。

事务操作数

MongoDB_Transactions

trans_totalPrepared_ps

已准备好的事务数

-

  • 副本集

  • 分片集群(仅支持Shard)

trans_totalPreparedThenCommited_ps

已准备好的事务中成功提交的事务数

-

trans_totalPreparedThenAborted_ps

已准备好的事务中成功回滚的事务数

-

trans_totalStarted_ps

已启动的事务数

-

  • 单节点

  • 副本集

  • 分片集群

trans_totalCommited_ps

成功提交的事务数

-

trans_totalAborted_ps

成功回滚的事务数

-

Cursors

MongoDB_AllCursors

total_open

当前打开的Cursor数量

-

timed_out

因超时关闭的Cursor数量

如果该值比较大,需要对客户端处理数据的业务代码进行检查。

job_cursors_closed

因关闭会话关闭的Cursor数量

-

pinned_open

当前打开且正在被使用的Cursor数量

例如,find 或 getMore 操作会固定游标,以防止其在获取下一批结果时被删除,并在返回结果后取消固定游标。

noTimeout_open

当前打开且未超时的Cursor数量

使用noCursorTimeout选项的打开且未超时的游标数量,此选项用于防止游标在一段时间不活动后超时,但noCursorTimeout配置受限于会话的超时时间,详情参见文档

  • 单节点

  • 副本集

  • 分片集群(仅支持ShardConfigServer)

WiredTiger

MongoDB_Wt_Cache

bytes_read_into_cache

读入缓存的字节数

Bytes

磁盘读取到wiredTiger缓存中的数据字节数。

bytes_written_from_cache

从缓存写出的字节数

Bytes

wiredTiger缓存中写入到磁盘的数据字节数。

maximum_bytes_configured

最大缓存大小

Bytes

wiredTiger配置的缓存最大字节数,考虑到兼容性和安全性,云数据库 MongoDB 版将存储引擎WiredTigerCacheSize设置为实际申请的实例内存规格大小的60%左右,详情参考MongoDB实例内存使用率高问题

WT并发事务数

MongoDB_Wt_Concurrent_Trans

write_concurrent_trans_out

当前写并发事务数

7.0版本之前,实例的读写并发事务数的限制为128,可用性参数长时间为0可能表示过载;从7.0版本开始,MongoDB 使用默认算法动态调整存储引擎并发事务的最大数量,以优化过载期间的数据库吞吐量,可用性参数长时间为 0并不一定表示过载。详情参考文档

write_concurrent_trans_available

可用的写并发事务数

read_concurrent_trans_out

当前读并发事务数

read_concurrent_trans_available

可用的读并发事务数

WiredTigerUsage

MongoDB_WTCacheUsage

wt_cache_dirty_usage

WiredTiger脏缓存使用率

%

详情参考MongoDB实例内存使用率高问题

wt_cache_usage

WiredTiger缓存使用率

%

平均响应时间

MongoDB_RT

avg_rt

总平均响应时间

微秒

-

reads_avg_rt

读操作平均响应时间

微秒

-

writes_avg_rt

写操作平均响应时间

微秒

-

commands_avg_rt

命令操作平均响应时间

微秒

-

trans_avg_rt

事务操作平均响应时间

微秒

-

影响文档数量

MongoDB_Documents

document_deleted_ps

删除的文档数量

-

document_inserted_ps

插入的文档数量

-

document_returned_ps

返回的文档数量

-

document_updated_ps

更新的文档数量

-

GlobalLock

MongoDB_GlobalLocks

gl_ac_readers

执行读操作的活跃客户端连接数

-

gl_ac_writers

执行写操作的活跃客户端连接数

-

gl_cq_writers

排队等待写锁的操作数

-

gl_cq_readers

排队等待读锁的操作数

-

gl_cq_total

排队等待锁定的操作总数

排队等待写锁的操作数与排队等待读锁的操作数之和。数值较大时表示客户端操作可能受到延迟,可能会影响应用的响应时间。

查询扫描索引与文档数量

MongoDB_QueryExecutors

queryExecutor_scannedObject_ps

查询扫描文档的数量

在执行查询和查询计划评估过程中被扫描的文档的总数量。与 explain() 输出中的 totalDocsExamined 相同。该数量很大,表示数据库需要扫描大量的非索引条目,建议为扫描数量大的字段建立索引。

queryExecutor_scanned_ps

查询扫描索引的数量

在执行查询和查询计划评估过程中被扫描的索引项的总数量。与 explain() 输出中的 totalKeysExamined 相同。该数值过大而返回文档数很小时,表示数据库扫描了大量的索引keys来得到结果文档,说明该索引不够高效,需要调整索引或创建其他索引。

TTL

MongoDB_TTLs

ttl_deletedDocuments_ps

TTL索引而删除的文档数量

该值较大时,表明有较多文档在删除,可能会影响实例性能。详情请参考文档

ttl_passes_ps

后台TTL线程进行删除的次数

TTL 后台进程执行检查过期文档的总次数。每次执行检查时,TTL 监视器会尝试从所有 TTL 索引中删除尽可能多的候选文档。

Repl Opcounters

MongoDB_ReplOpcounters

repl_command

复制集中Command命令的操作数

在复制过程中,MongoDB 会将操作序列化,这可能会影响各操作的计数,因此MongoDB_ReplOpcounters 与MongoDB_Opcounters两个计数器的值可能会有所不同。详细说明可参考Opcounters指标和Repl Opcounters指标

repl_delete

复制集中Delete命令的操作数

repl_getmore

复制集中Getmore命令的操作数

repl_insert

复制集中Insert命令的操作数

repl_query

复制集中Query命令的操作数

repl_update

复制集中Update命令的操作数

Eviction扫描数

MongoDB_WtCacheHPCheckEntriesWalked

wiredTiger_cache_hazardPointerCheckEntriesWalked

Eviction时扫描hazard pointer array的内容的数量

Eviction时因hazard pointers阻塞的页面驱逐数。

Lock Acquisitions

MongoDB_WtLockAcquisitions

wt_checkPoint_lock

检查点锁获取次数

-

wt_dhandle_read_lock

数据句柄读锁获取次数

实例库表数过多时,客户端请求可能会需要长时间等待 handle lock,影响实例性能,详情参考库表数太多导致实例卡顿或异常

wt_dhandle_write_lock

数据句柄写锁获取次数

wt_metadata_lock

元数据锁获取次数

wt_schema_lock

模式锁获取次数

频繁删除和创建库表或索引等业务行为、库表数量过多等业务现状都会导致更高的 schemaLock开销,影响实例性能,详情参考库表数太多导致实例卡顿或异常

wt_table_read_lock

表读锁获取次数

-

wt_table_write_lock

表写锁获取次数

-

wt_txn_global_read_lock

事务全局读锁获取次数

-

wt_txn_global_write_lock

事务全局写锁获取次数

-

MBPS使用率

MongoDB_MbpsUsage

total_mbps_usage

磁盘读写带宽使用率

%

实例的磁盘总吞吐量与实例最大MBPS的比值,表示实例的业务负载。如果MongoDB实例的MBPS使⽤率达到或接近100%,会导致业务响应缓慢,甚⾄业务不可⽤。关于云盘MBPS的详细介绍,请参考实例规格

说明

仅支持云盘版实例。

  • 单节点

  • 副本集

  • 分片集群(仅支持Shard)

主备延时

MongoDB_Repl_Lag

repl_lag

主备节点的数据同步延时

  • 由于副本集之间的心跳间隔是2s,所以副本集实例、分片集群实例的Shard节点和ConfigServer节点的repl_lag取值在-22之间时均正常。

  • 备节点的repl_lag可能为负值,并不代表该备节点领先于主节点。如需获取副本集主备延迟的最新状态,请在主节点上运行rs.printSecondaryReplicationInfo()

  • 副本集

  • 分片集群(仅支持ShardConfigServer)

Oplog保留时长

MongoDB_OplogTimeInterval

oplog_time_interval

Oplog保留时长

小时

4.4及以上版本,可在实例详情页调整storage.oplogMinRetentionHours参数进行修改。

moveChunk

MongoDB_MoveChunks

moveChunk_donor_started_ps

当前节点作为范围迁移源的次数

无论迁移是否成功,该值都会增加。

  • 分片集群(仅支持Shard)

moveChunk_recip_stared_ps

当前节点作为范围迁移目标的次数

每次访问个数

-

sl_qps

每秒访问次数

-

  • Serverless实例

查询执行器信息

MongoDB_QueryExecutors

collscans_nontailable

tailable cursor的全表扫描数量

-

  • 副本集

  • 分片集群(不含mongos)

collscans_total

总的全表扫描数量

-

库表数量信息

MongoDB_CollectionNums

admin_user_coll

admin库下的用户表数量

-

  • 4.2版本及以下副本集

  • 分片集群

断言数量

MongoDB_Asserts

regular

正常级别

正常执行的断言数量。

  • 单节点

  • 副本集

  • 分片集群

warning

警告级别

警告级别的断言的数量,始终返回0。

msg

消息级别

消息级别的断言的数量。

user

用户级别

用户级别的断言的数量。

数据句柄数

MongoDB_DataHandle

opened_fd_num

活跃的句柄数

WiredTiger 缓存中当前活跃的连接数据句柄的数量。

  • 单节点

  • 副本集

  • 分片集群

closed_fd_num

关闭的句柄数

WiredTiger 缓存中扫描关闭的连接数据句柄的数量。

opened_fd_mem

活跃句柄占用内存

MB

WiredTiger 缓存中当前活跃的连接数据句柄占用内存。

操作延迟

MongoDB_Latencys

reads_latency_ps

读取操作成功请求的延迟

us

读取操作处理的所有成功请求的延迟。

  • 单节点

  • 副本集

  • 分片集群

writes_latency_ps

写入操作成功请求延迟

us

写入操作处理的所有成功请求的延迟,单位为us。

commands_latency_ps

命令操作成功请求延迟

us

命令操作处理的所有成功请求的延迟,单位为us。

trans_latency_ps

事务操作成功请求延迟

us

事务操作处理的所有成功请求的延迟,单位为us。

TCMalloc内存碎片率

MongoDB_TcmallocCacheMemRatio

tcmalloc_cache_mem_ratio

TCMalloc内存碎片率

%

-

  • 单节点

  • 副本集

  • 分片集群

写关注平均耗时

MongoDB_GetLastErrorWtime

metrics_getLastError_avg_wtime

写关注操作平均耗时

ms

执行写关注操作花费的平均时间。

  • 单节点

  • 副本集

  • 分片集(仅mongod)

metrics_getLastError_wtimeouts

写关注操作超时次数

写关注操作超过wtimeout阈值的次数。

  • 单节点

  • 副本集

  • 分片集群

复制缓冲区大小

MongoDB_Repl_Buffer

repl_buffer_size

复制缓冲区当前大小

MB

副本集中的复制缓冲区的当前大小。

  • 副本集

  • 分片集群

repl_buffer_max_size

复制缓冲区最大大小

MB

副本集中的复制缓冲区的最大大小。

WiredTiger缓存页面驱逐数

MongoDB_WtCacheEviction

pages_selected_count

强制驱逐的页面数

-

  • 单节点

  • 副本集

  • 分片集群

pages_selected_unable_to_evict_count

无法被强制驱逐的页面数

-

hazard_pointer_blocked_page_eviction

hazard pointers阻塞的页面驱逐数

-

max_page_size

页面驱逐过程中见到的最大页面大小

MB

-

pages_evicted_by_application_threads

被用户线程驱逐的 WiredTiger 缓存中的页面数量

-

moveChunk

MongoDB_MoveChunks

moveChunk_deleter_task

准备运行与正在运行的chunk范围删除任务数

-

分片集群

LockAcquisitions

MongoDB_WtLockAcquisitions

wt_checkPoint_lock

WiredTiger 缓存中检查点锁的获取数量

-

  • 单节点

  • 副本集

  • 分片集群

wt_dhandle_read_lock

WiredTiger 缓存中数据句柄读取锁的获取数量

-

wt_dhandle_write_lock

WiredTiger 缓存中数据句柄写入锁的获取数量

-

wt_metadata_lock

WiredTiger 缓存中元数据锁的获取数量

-

wt_schema_lock

WiredTiger 缓存中模式锁的获取数量

-

wt_table_read_lock

WiredTiger 缓存中表读取锁的获取数量

-

wt_table_write_lock

WiredTiger 缓存中表写入锁的获取数量

-

wt_txn_global_read_lock

WiredTiger 缓存中全局读取锁的获取数量

-

wt_txn_global_write_lock

WiredTiger 缓存中全局写入锁的获取数量

-

线程让渡

MongoDB_WtCache_Thread_Yield

page_acquire_eviction_blocked

等待页面驱逐而被阻塞的次数

-

  • 单节点

  • 副本集

  • 分片集群

page_acquire_locked_blocked

目标页面被锁定而等待的次数

-

page_acquire_time_sleeping

获取页面时线程睡眠状态总时长

us

-

WiredTigerUsage

MongoDB_WTCacheUsage

wt_cache_updates_usage

WiredTiger更新缓存使用率

%

为更新操作分配的内存字节数相对于缓存最大字节数的比例。

  • 单节点

  • 副本集

  • 分片集群

经典多计划器执行统计

MongoDB_MultiPlanner_Worker

metrics_query_multiplanner_classicworks

工作总数

经典多计划器中执行的工作总数。

  • 副本集

  • 分片集群(仅mongod)

逻辑会话缓存信息

MongoDB_LogicalSession

active_sessions_count

缓存中逻辑会话数

自上次刷新后缓存中所有逻辑会话(logical sessions)的总数。

  • 副本集

  • 分片集群

节点监控(原基本监控)

说明

不同类型实例支持的监控项请以控制台为准。

监控项

key

指标名

指标含义

单位

详细说明

支持的实例类型

磁盘空间使用率

DiskUsage

disk_usage

磁盘使用率

%

实例的磁盘使用空间占磁盘总容量的比例,表示实例的磁盘负载。当您的磁盘使用率达到80%以上时,可在控制台实例详情页面变更实例配置或参考MongoDB实例空间使用率高问题进行处理。

  • 单节点

  • 副本集

  • 分片集群

  • Serverless

网络流量

MongoDB_Network

bytes_in

网络进口流量

Bytes

-

bytes_out

网络出口流量

Bytes

-

num_requests

处理的请求数

-

操作QPS

MongoDB_Opcounters

insert

插入操作QPS

MongoDB_Opcounters 参数包含实例收到的所有操作,不论操作是否成功执行。其中,Bulk.insert()类型的批量操作被记录为单条操作,更细粒度的记录可关注MongoDB_Documents 指标,

参考Opcounters指标和Repl Opcounters指标

query

查询操作QPS

update

更新操作QPS

delete

删除操作QPS

getmore

读取操作QPS

command

协议命令操作QPS

连接数

MongoDB_TotalConns

connections_active

当前活跃连接数

连接到server端的当前正在进行操作的客户端连接数量。

current_conn

当前连接数

连接到server端的所有客户端的连接数量,包含副本集内部其他节点建立的连接或mongosshard上建立的连接。

connections_totalCreated_ps

每秒新建连接的总数

-

  • 单节点

  • 副本集

  • 分片集群

connections_available

当前可用的连接数

-

连接数使用率

ConnectionUsage

conn_usage

连接数使用率

%

  • 实例当前连接数和最大连接数的比值,表示实例的连接负载。

  • 根据您购买的MongoDB实例规格不同,最大连接数也不同,详情请参见实例规格

  • 可在控制台实例详情页面变更实例配置来增大连接数限制或参考如何查询及限制连接数调整客户端的连接数。

CPU使用率

CpuUsage

cpu_usage

CPU使用率

%

系统CPU使用率与用户CPU使用率之和,表示实例的业务负载。CPU使用率过高会导致数据读写处理异常缓慢,影响正常业务,您可参考MongoDB实例CPU使用率高问题排查解决。

MongoDB_CpuDetail

cpu_sys

系统CPU使用率

%

-

cpu_user

用户CPU使用率

%

-

内存使用率

MemoryUsage

mem_usage

内存使用率

%

内存主要被Wiredtiger存储引擎和客户端连接及请求处理占用。可参考MongoDB实例内存使用率高问题查看内存使用率高的原因和优化策略。

IOPS使用量

MongoDB_IOPS

iops

IOPS使用量

次/秒

  • 4.2版本副本集云盘版实例以及4.2版本分片集群云盘版实例暂不支持查看IOPS使用量和IOPS使用率。

  • 旧版本监控中的data_iopslog_iops现合并为iops。

IOPS使用率

IOPSUsage

iops_usage

IOPS使用率

%

实例的IOPS使用量与当前规格最大IOPS的比值,表示实例的业务负载。如果MongoDB实例的IOPS使⽤率达到或接近100%,会导致业务响应缓慢,甚⾄业务不可⽤。MongoDB实例IOPS使用率高问题介绍了查看MongoDB实例IOPS使用率的方法,以及导致IOPS使用率高的原因和优化策略。

说明

4.2版本副本集云盘版实例以及4.2版本分片集群云盘版实例暂不支持查看IOPS使用量和IOPS使用率。

磁盘空间使用量

MongoDB_DetailedSpaceUsage

ins_size

磁盘使用空间

Bytes

  • 本地盘实例的磁盘使用空间为数据盘与日志盘使用空间之和。

  • 云盘实例的磁盘使用空间还包含文件系统的元数据占用信息。

data_size

数据盘使用空间

Bytes

数据磁盘使用空间(不包括local库),主要包括collection开头的数据物理⽂件,索引开头的索引物理⽂件和部分元数据物理⽂件,例如WiredTiger.wt。

log_size

日志盘使用空间

Bytes

local库的物理大小、mongodb运行日志大小和部分审计日志大小。

操作详情

MongoDB_OperationDetails

operation_exactIDCount_ps

针对特定ID进行计数操作的次数

针对数据分布在多个shard上的已分片集合,使用_id而非shardkey进行单个更新操作的次数。 在现有版本中,会导致遍历实例中所有chunks,当chunks数量较多时,可能会导致cpu打满,影响实例性能。

operation_scanAndOrder_ps

未用索引的排序操作数

无法使用索引执行排序操作的已排序查询的次数,数量较大时,可能会导致实例性能下降,可根据业务查询条件参考云数据库MongoDB版创建索引最佳实践处理。

operation_writeConflicts_ps

发生写冲突的次数

遭遇写冲突的查询次数。少量的写冲突一般不会产生很大影响,但是如果存在大量的写冲突,则可能导致数据库性能下降。

MBPS

MongoDB_Disk_Detail

read_io_bandwidth_mbps

磁盘读取的吞吐量

MB/秒

-

write_io_bandwidth_mbps

磁盘写入的吞吐量

MB/秒

-

io_bandwidth_mbps

磁盘总吞吐量

MB/秒

磁盘读取吞吐量与磁盘写入吞吐量之和。

事务操作数

MongoDB_Transactions

trans_totalPrepared_ps

已准备好的事务数

-

  • 副本集

  • 分片集群(仅支持Shard)

trans_totalPreparedThenCommited_ps

已准备好的事务中成功提交的事务数

-

trans_totalPreparedThenAborted_ps

已准备好的事务中成功回滚的事务数

-

trans_totalStarted_ps

已启动的事务数

-

  • 单节点

  • 副本集

  • 分片集群

trans_totalCommited_ps

成功提交的事务数

-

trans_totalAborted_ps

成功回滚的事务数

-

Cursors

MongoDB_AllCursors

total_open

当前打开的Cursor数量

-

timed_out

因超时关闭的Cursor数量

如果该值比较大,需要对客户端处理数据的业务代码进行检查。

job_cursors_closed

因关闭会话关闭的Cursor数量

-

pinned_open

当前打开且正在被使用的Cursor数量

例如,find 或 getMore 操作会固定游标,以防止其在获取下一批结果时被删除,并在返回结果后取消固定游标。

noTimeout_open

当前打开且未超时的Cursor数量

使用noCursorTimeout选项的打开且未超时的游标数量,此选项用于防止游标在一段时间不活动后超时,但noCursorTimeout配置受限于会话的超时时间,详情参见文档

  • 单节点

  • 副本集

  • 分片集群(仅支持ShardConfigServer)

WiredTiger

MongoDB_Wt_Cache

bytes_read_into_cache

读入缓存的字节数

Bytes

磁盘读取到wiredTiger缓存中的数据字节数。

bytes_written_from_cache

从缓存写出的字节数

Bytes

wiredTiger缓存中写入到磁盘的数据字节数。

maximum_bytes_configured

最大缓存大小

Bytes

wiredTiger配置的缓存最大字节数,考虑到兼容性和安全性,云数据库 MongoDB 版将存储引擎WiredTigerCacheSize设置为实际申请的实例内存规格大小的60%左右,详情参考MongoDB实例内存使用率高问题

WT并发事务数

MongoDB_Wt_Concurrent_Trans

write_concurrent_trans_out

当前写并发事务数

7.0版本之前,实例的读写并发事务数的限制为128,可用性参数长时间为0可能表示过载;从7.0版本开始,MongoDB 使用默认算法动态调整存储引擎并发事务的最大数量,以优化过载期间的数据库吞吐量,可用性参数长时间为 0并不一定表示过载。详情参考文档

write_concurrent_trans_available

可用的写并发事务数

read_concurrent_trans_out

当前读并发事务数

read_concurrent_trans_available

可用的读并发事务数

WiredTigerUsage

MongoDB_WTCacheUsage

wt_cache_dirty_usage

WiredTiger脏缓存使用率

%

详情参考MongoDB实例内存使用率高问题

wt_cache_usage

WiredTiger缓存使用率

%

平均响应时间

MongoDB_RT

avg_rt

总平均响应时间

微秒

-

reads_avg_rt

读操作平均响应时间

微秒

-

writes_avg_rt

写操作平均响应时间

微秒

-

commands_avg_rt

命令操作平均响应时间

微秒

-

trans_avg_rt

事务操作平均响应时间

微秒

-

影响文档数量

MongoDB_Documents

document_deleted_ps

删除的文档数量

-

document_inserted_ps

插入的文档数量

-

document_returned_ps

返回的文档数量

-

document_updated_ps

更新的文档数量

-

GlobalLock

MongoDB_GlobalLocks

gl_ac_readers

执行读操作的活跃客户端连接数

-

gl_ac_writers

执行写操作的活跃客户端连接数

-

gl_cq_writers

排队等待写锁的操作数

-

gl_cq_readers

排队等待读锁的操作数

-

gl_cq_total

排队等待锁定的操作总数

排队等待写锁的操作数与排队等待读锁的操作数之和。数值较大时表示客户端操作可能受到延迟,可能会影响应用的响应时间。

查询扫描索引与文档数量

MongoDB_QueryExecutors

queryExecutor_scannedObject_ps

查询扫描文档的数量

在执行查询和查询计划评估过程中被扫描的文档的总数量。与 explain() 输出中的 totalDocsExamined 相同。该数量很大,表示数据库需要扫描大量的非索引条目,建议为扫描数量大的字段建立索引。

queryExecutor_scanned_ps

查询扫描索引的数量

在执行查询和查询计划评估过程中被扫描的索引项的总数量。与 explain() 输出中的 totalKeysExamined 相同。该数值过大而返回文档数很小时,表示数据库扫描了大量的索引keys来得到结果文档,说明该索引不够高效,需要调整索引或创建其他索引。

TTL

MongoDB_TTLs

ttl_deletedDocuments_ps

TTL索引而删除的文档数量

该值较大时,表明有较多文档在删除,可能会影响实例性能。详情请参考文档

ttl_passes_ps

后台TTL线程进行删除的次数

TTL 后台进程执行检查过期文档的总次数。每次执行检查时,TTL 监视器会尝试从所有 TTL 索引中删除尽可能多的候选文档。

Repl Opcounters

MongoDB_ReplOpcounters

repl_command

复制集中Command命令的操作数

在复制过程中,MongoDB 会将操作序列化,这可能会影响各操作的计数,因此MongoDB_ReplOpcounters 与MongoDB_Opcounters两个计数器的值可能会有所不同。详细说明可参考Opcounters指标和Repl Opcounters指标

repl_delete

复制集中Delete命令的操作数

repl_getmore

复制集中Getmore命令的操作数

repl_insert

复制集中Insert命令的操作数

repl_query

复制集中Query命令的操作数

repl_update

复制集中Update命令的操作数

Eviction扫描数

MongoDB_WtCacheHPCheckEntriesWalked

wiredTiger_cache_hazardPointerCheckEntriesWalked

Eviction时扫描hazard pointer array的内容的数量

Eviction时因hazard pointers阻塞的页面驱逐数。

Lock Acquisitions

MongoDB_WtLockAcquisitions

wt_checkPoint_lock

检查点锁获取次数

-

wt_dhandle_read_lock

数据句柄读锁获取次数

实例库表数过多时,客户端请求可能会需要长时间等待 handle lock,影响实例性能,详情参考库表数太多导致实例卡顿或异常

wt_dhandle_write_lock

数据句柄写锁获取次数

wt_metadata_lock

元数据锁获取次数

wt_schema_lock

模式锁获取次数

频繁删除和创建库表或索引等业务行为、库表数量过多等业务现状都会导致更高的 schemaLock开销,影响实例性能,详情参考库表数太多导致实例卡顿或异常

wt_table_read_lock

表读锁获取次数

-

wt_table_write_lock

表写锁获取次数

-

wt_txn_global_read_lock

事务全局读锁获取次数

-

wt_txn_global_write_lock

事务全局写锁获取次数

-

MBPS使用率

MongoDB_MbpsUsage

total_mbps_usage

磁盘读写带宽使用率

%

实例的磁盘总吞吐量与实例最大MBPS的比值,表示实例的业务负载。如果MongoDB实例的MBPS使⽤率达到或接近100%,会导致业务响应缓慢,甚⾄业务不可⽤。关于云盘MBPS的详细介绍,请参考实例规格

说明

仅支持云盘版实例。

  • 单节点

  • 副本集

  • 分片集群(仅支持Shard)

主备延时

MongoDB_Repl_Lag

repl_lag

主备节点的数据同步延时

  • 由于副本集之间的心跳间隔是2s,所以副本集实例、分片集群实例的Shard节点和ConfigServer节点的repl_lag取值在-22之间时均正常。

  • 备节点的repl_lag可能为负值,并不代表该备节点领先于主节点。如需获取副本集主备延迟的最新状态,请在主节点上运行rs.printSecondaryReplicationInfo()

  • 副本集

  • 分片集群(仅支持ShardConfigServer)

Oplog保留时长

MongoDB_OplogTimeInterval

oplog_time_interval

Oplog保留时长

小时

4.4及以上版本,可在实例详情页调整storage.oplogMinRetentionHours参数进行修改。

moveChunk

MongoDB_MoveChunks

moveChunk_donor_started_ps

当前节点作为范围迁移源的次数

无论迁移是否成功,该值都会增加。

  • 分片集群(仅支持Shard)

moveChunk_recip_stared_ps

当前节点作为范围迁移目标的次数

每次访问个数

-

sl_qps

每秒访问次数

-

  • Serverless实例

查询执行器信息

MongoDB_QueryExecutors

collscans_nontailable

tailable cursor的全表扫描数量

-

  • 副本集

  • 分片集群(不含mongos)

collscans_total

总的全表扫描数量

-

库表数量信息

MongoDB_CollectionNums

admin_user_coll

admin库下的用户表数量

-

  • 4.2版本及以下副本集

  • 分片集群

断言数量

MongoDB_Asserts

regular

正常级别

正常执行的断言数量。

  • 单节点

  • 副本集

  • 分片集群

warning

警告级别

警告级别的断言的数量,始终返回0。

msg

消息级别

消息级别的断言的数量。

user

用户级别

用户级别的断言的数量。

数据句柄数

MongoDB_DataHandle

opened_fd_num

活跃的句柄数

WiredTiger 缓存中当前活跃的连接数据句柄的数量。

  • 单节点

  • 副本集

  • 分片集群

closed_fd_num

关闭的句柄数

WiredTiger 缓存中扫描关闭的连接数据句柄的数量。

opened_fd_mem

活跃句柄占用内存

MB

WiredTiger 缓存中当前活跃的连接数据句柄占用内存。

操作延迟

MongoDB_Latencys

reads_latency_ps

读取操作成功请求的延迟

us

读取操作处理的所有成功请求的延迟。

  • 单节点

  • 副本集

  • 分片集群

writes_latency_ps

写入操作成功请求延迟

us

写入操作处理的所有成功请求的延迟,单位为us。

commands_latency_ps

命令操作成功请求延迟

us

命令操作处理的所有成功请求的延迟,单位为us。

trans_latency_ps

事务操作成功请求延迟

us

事务操作处理的所有成功请求的延迟,单位为us。

TCMalloc内存碎片率

MongoDB_TcmallocCacheMemRatio

tcmalloc_cache_mem_ratio

TCMalloc内存碎片率

%

-

  • 单节点

  • 副本集

  • 分片集群

写关注平均耗时

MongoDB_GetLastErrorWtime

metrics_getLastError_avg_wtime

写关注操作平均耗时

ms

执行写关注操作花费的平均时间。

  • 单节点

  • 副本集

  • 分片集(仅mongod)

metrics_getLastError_wtimeouts

写关注操作超时次数

写关注操作超过wtimeout阈值的次数。

  • 单节点

  • 副本集

  • 分片集群

复制缓冲区大小

MongoDB_Repl_Buffer

repl_buffer_size

复制缓冲区当前大小

MB

副本集中的复制缓冲区的当前大小。

  • 副本集

  • 分片集群

repl_buffer_max_size

复制缓冲区最大大小

MB

副本集中的复制缓冲区的最大大小。

WiredTiger缓存页面驱逐数

MongoDB_WtCacheEviction

pages_selected_count

强制驱逐的页面数

-

  • 单节点

  • 副本集

  • 分片集群

pages_selected_unable_to_evict_count

无法被强制驱逐的页面数

-

hazard_pointer_blocked_page_eviction

hazard pointers阻塞的页面驱逐数

-

max_page_size

页面驱逐过程中见到的最大页面大小

MB

-

pages_evicted_by_application_threads

被用户线程驱逐的 WiredTiger 缓存中的页面数量

-

moveChunk

MongoDB_MoveChunks

moveChunk_deleter_task

准备运行与正在运行的chunk范围删除任务数

-

分片集群

LockAcquisitions

MongoDB_WtLockAcquisitions

wt_checkPoint_lock

WiredTiger 缓存中检查点锁的获取数量

-

  • 单节点

  • 副本集

  • 分片集群

wt_dhandle_read_lock

WiredTiger 缓存中数据句柄读取锁的获取数量

-

wt_dhandle_write_lock

WiredTiger 缓存中数据句柄写入锁的获取数量

-

wt_metadata_lock

WiredTiger 缓存中元数据锁的获取数量

-

wt_schema_lock

WiredTiger 缓存中模式锁的获取数量

-

wt_table_read_lock

WiredTiger 缓存中表读取锁的获取数量

-

wt_table_write_lock

WiredTiger 缓存中表写入锁的获取数量

-

wt_txn_global_read_lock

WiredTiger 缓存中全局读取锁的获取数量

-

wt_txn_global_write_lock

WiredTiger 缓存中全局写入锁的获取数量

-

线程让渡

MongoDB_WtCache_Thread_Yield

page_acquire_eviction_blocked

等待页面驱逐而被阻塞的次数

-

  • 单节点

  • 副本集

  • 分片集群

page_acquire_locked_blocked

目标页面被锁定而等待的次数

-

page_acquire_time_sleeping

获取页面时线程睡眠状态总时长

us

-

WiredTigerUsage

MongoDB_WTCacheUsage

wt_cache_updates_usage

WiredTiger更新缓存使用率

%

为更新操作分配的内存字节数相对于缓存最大字节数的比例。

  • 单节点

  • 副本集

  • 分片集群

经典多计划器执行统计

MongoDB_MultiPlanner_Worker

metrics_query_multiplanner_classicworks

工作总数

经典多计划器中执行的工作总数。

  • 副本集

  • 分片集群(仅mongod)

逻辑会话缓存信息

MongoDB_LogicalSession

active_sessions_count

缓存中逻辑会话数

自上次刷新后缓存中所有逻辑会话(logical sessions)的总数。

  • 副本集

  • 分片集群

高级监控

说明
  • 仅单节点、副本集和分片集群实例支持高级监控

  • 不同类型实例支持的监控项请以控制台为准。

支持的实例

监控项

监控指标及说明

说明

单位

  • 单节点实例

  • 副本集实例

  • 分片集群实例

CPU使用率

cpu_usage

实例的CPU使用率。

%

内存使用率

mem_usage

实例的内存使用率。

%

磁盘空间使用量

ins_size

总使用空间。

Bytes

data_size

数据磁盘使用空间。

Bytes

log_size

日志磁盘使用空间。

Bytes

连接数使用率

conn_usage

实例当前连接数与最大连接数的比值。

%

cursors

open_no_timedout

当前无超时时间的cursor打开数量。

open_with_timedout

当前有超时时间的cursor打开数量。

open_total

当前cursor打开数量。

closed_by_timeout

因超时关闭的cursor数量。

closed_by_session

因关闭会话关闭的cursor数量。

读写队列

currentQueue_total

排队等待锁的操作总数。

currentQueue_readers

排队等待读锁的操作数。

currentQueue_writers

排队等待写锁的操作数。

active_readers

执行读操作的活跃客户端连接数。

active_writers

执行写操作的活跃客户端连接数。

平均响应时间(MongoDB_RT)

avg_RT

实例平均响应时间。

微秒

reads_avg_rt

读操作平均响应时间。

微秒

writes_avg_rt

写操作平均响应时间。

微秒

commands_avg_rt

命令操作平均响应时间。

微秒

trans_avg_rt

事务操作平均响应时间。

微秒

WiredTiger请求队列

write_concurrent_trans_out

写并发请求数。

read_concurrent_trans_out

读并发请求数。

write_concurrent_trans_available

可用的写并发数。

read_concurrent_trans_available

可用的读并发数。

IO延迟

iocheck_cost:

当前IO的响应性能。

说明

仅单节点和MongoDB 4.0及以下版本的副本集实例支持。

毫秒

WiredTigerCache使用率

wt_cache_usage

WiredTiger cache使用率。

%

wt_cache_dirty_usage

WiredTigercache使用率。

%

影响文档数量

deletedDocuments

删除的文档数量。

insertedDocuments

插入的文档数量。

returnDocuments

返回的文档数量。

updatedDocuments

更新的文档数量。

操作详情

scanAndOrder

无法使用索引进行sort的请求数。

writeConflicts

发生写冲突的次数。

exactIDCount

需要通过广播方式获取匹配_id的信息请求数。

查询扫描索引与文档数量

scannedKeys

查询扫描索引的数量。

scannedDocs

查询扫描文档的数量。

TTL

ttlDeletedDocuments

TTL索引而删除的文档数量。

ttlPasses

后台TTL线程进行删除的次数。

Lock Acquisitions

wiredTiger_schema_lock_delta

模式锁获取次数。

wiredTiger_metadata_lock_delta

元数据锁获取次数。

wiredTiger_table_read_lock_delta

表读锁获取次数。

wiredTiger_table_write_lock_delta

表写锁获取次数。

wiredTiger_txn_global_read_lock_delta

事务全局读锁获取次数。

wiredTiger_txn_global_write_lock_delta

事务全局写锁获取次数。

MBPS

read_io_bandwidth_mbps

磁盘读取的吞吐量。

MB/秒

write_io_bandwidth_mbps

磁盘写入的吞吐量。

MB/秒

io_bandwidth_mbps

磁盘总吞吐量。

MB/秒

事务操作数

trans_totalPrepared_ps

已准备好的事务数。

trans_totalPreparedThenCommited_ps

已准备好的事务中成功提交的事务。

trans_totalPreparedThenAborted_ps

已准备好的事务中成功回滚的事务数。

trans_totalStarted_ps

已启动的事务数。

trans_totalCommited_ps

成功提交的事务数。

trans_totalAborted_ps

成功回滚的事务数。

MBPS使用率

total_mbps_usage:

磁盘读写带宽使用率。

说明
  • 仅支持云盘版实例。

  • 分片集群实例中,该指标仅Shard组件下的数据有效。

%

WiredTiger

bytes_read_into_cache

读入cache的数据量大小。

Bytes

bytes_written_from_cache

cache写的磁盘大小。

Bytes

maximum_bytes_configured

配置最大可用的磁盘大小。

Bytes

磁盘空间使用率

disk_usage

实例总使用空间与最大可使用空间的比值。

%

操作QPS

insert

插入操作数。

query

查询操作数。

update

更新操作数。

delete

删除操作数。

getmore

读取操作数。

command

协议命令操作数。

连接数

current_conn

实例当前连接总数。

active_conn

实例当前活跃连接数。

网络流量

bytes_in

进口流量。

Bytes

bytes_out

出口流量。

Bytes

  • 副本集实例

  • 分片集群实例

IOPS使用量

data_iops(iops)

IOPS使用量。

说明
  • 4.2版本云盘版实例暂不支持查看IOPS使用量和IOPS使用率。

  • 旧版本监控中的data_iopslog_iops现合并为data_iops(iops)。

次/秒

IOPS使用率

iops_usage

实例使用IOPS大小与最大可用IOPS的比值。

说明

4.2版本云盘版实例暂不支持查看IOPS使用量和IOPS使用率。

%

主备延迟

repl_lag

实例主备节点的数据同步延时信息。

说明
  • 由于副本集之间的心跳间隔是2s,所以副本集实例、分片集群实例的Shard节点和ConfigServer节点的repl_lag取值在-22之间时均正常。

  • 备节点的repl_lag可能为负值,并不代表该备节点领先于主节点。如需获取副本集主备延迟的最新状态,请在主节点上运行rs.printSecondaryReplicationInfo()

分片集群实例

分片集群Shard组件操作QPS总数

insert_primary

主节点的插入操作数。

query_primary

主节点的查询操作数。

update_primary

主节点的更新操作数。

delete_primary

主节点的删除操作数。

getmore_primary

主节点的读取操作数。

command_primary

主节点的协议命令操作数。

insert_secondary

从节点的插入操作数。

query_secondary

从节点的查询操作数。

insert_hidden

隐藏节点的插入操作数。

query_hidden

隐藏节的查询操作数。

update_hidden

隐藏节点的更新操作数。

delete_hidden

隐藏节点的删除操作数。

getmore_hidden

隐藏节点的读取操作数。

command_hidden

隐藏节点的协议命令操作数。

分片集群Mongos组件操作QPS总数

insert

插入操作数。

query

查询操作数。

update

更新操作数。

delete

删除操作数。

getmore

读取操作数。

command

协议命令操作数。

moveChunk

donorCount

当前节点作为moveChunkmoveRange源的次数。

recipientCount

当前节点作为目标分片接收Chunks的次数。

性能趋势

说明

不同类型实例支持的监控项请以控制台为准。

支持的实例

监控项

监控指标及说明

  • 单节点实例

  • 副本集实例

  • 分片集群实例

CPU使用率

mongodb.cpu_usage:实例的CPU使用率。

内存使用率

mongodb.mem_usage:实例的内存使用率。

磁盘空间使用量

实例磁盘空间的性能趋势,包括:

  • mongodb.detailed_space_usage.ins_size:总使用空间。

  • mongodb.detailed_space_usage.data_size:数据磁盘使用空间。

  • mongodb.detailed_space_usage.log_size:日志磁盘使用空间。

cursors

实例cursor数的性能趋势,包括:

  • mongodb.metrics.cursor.timedOut:cursor超时数量。

  • mongodb.metrics.cursor.open.total:当前cursor打开数量。

WiredTiger请求队列

读写请求数以及剩余可用并发数的性能趋势,包括:

  • mongodb.wiredTiger.write_concurrent_trans_out:写并发请求数。

  • mongodb.wiredTiger.read_concurrent_trans_out:读并发请求数。

  • mongodb.wiredTiger.write_concurrent_trans_available:可用的写并发数。

  • mongodb.wiredTiger.read_concurrent_trans_available:可用的读并发数。

说明

仅支持标准版副本集实例。

WiredTiger

实例WiredTiger引擎cache层指标的性能趋势,包括:

  • mongodb.wiredTiger.cache.pages.read.into.cache:读入cache的数据量大小。

  • mongodb.wiredTiger.cache.pages.written.from.cache:从cache写入的数据量大小。

  • mongodb.wiredTiger.cache.maximum.bytes.configured:最大缓存大小。

说明

仅支持标准版副本集实例。

  • 单节点实例

  • 副本集实例

  • 分片集群实例

  • Serverless实例

磁盘空间使用率

mongodb.disk_usage:mongodb磁盘使用率。

操作QPS

实例操作QPS的性能趋势,包括:

  • mongodb.opcounters.insert:插入操作数。

  • mongodb.opcounters.query:查询操作数。

  • mongodb.opcounters.update:更新操作数。

  • mongodb.opcounters.delete:删除操作数。

  • mongodb.opcounters.getmore:读取操作数。

  • mongodb.opcounters.command:协议命令操作数。

连接数

mongodb.connections.current:实例当前连接总数。

网络流量

实例网络流量的性能趋势,包括:

  • mongodb.network.bytesIn:进口流量。

  • mongodb.network.bytesOut:出口流量。

  • mongodb.network.numRequests:处理的请求数。

  • 副本集实例

  • 分片集群实例

IOPS使用量

IOPS使用量的性能趋势,包括:

  • mongodb.iops.data_iops:数据盘读写次数。

  • mongodb.iops.log_iops:日志盘读写次数。

IOPS使用率

mongodb.iops_usage:IOPS使用率。

说明

4.2版本副本集云盘版实例以及4.2版本分片集群云盘版实例暂不支持查看IOPS使用量和IOPS使用率。

副本集实例

GlobalLock

实例全局锁的性能趋势,包括:

  • mongodb.globalLock.currentQueue.total:全局锁队列总长度。

  • mongodb.globalLock.currentQueue.writers:全局锁写队列总长度。

  • mongodb.globalLock.currentQueue.readers:全局锁读队列总长度。