本文介绍云数据库MongoDB实例监控、节点监控、高级监控和性能趋势功能支持的监控项、监控指标及其具体含义。
为了更好地展示效果,部分控制台上的Bytes单位会自动为您折算成MB、GB或TB单位。
实例监控
不同类型实例支持的监控项请以控制台为准。
监控项 | key | 指标名 | 指标含义 | 单位 | 详细说明 | 支持的实例类型 |
磁盘空间使用率 | DiskUsage | disk_usage | 磁盘使用率 | % | 实例的磁盘使用空间占磁盘总容量的比例,表示实例的磁盘负载。当您的磁盘使用率达到80%以上时,可在控制台实例详情页面变更实例配置或参考MongoDB实例空间使用率高问题进行处理。 |
|
网络流量 | MongoDB_Network | bytes_in | 网络进口流量 | Bytes | - | |
bytes_out | 网络出口流量 | Bytes | - | |||
num_requests | 处理的请求数 | 个 | - | |||
操作QPS | MongoDB_Opcounters | insert | 插入操作QPS | 个 | MongoDB_Opcounters 参数包含实例收到的所有操作,不论操作是否成功执行。其中,Bulk.insert()类型的批量操作被记录为单条操作,更细粒度的记录可关注MongoDB_Documents 指标, | |
query | 查询操作QPS | 个 | ||||
update | 更新操作QPS | 个 | ||||
delete | 删除操作QPS | 个 | ||||
getmore | 读取操作QPS | 个 | ||||
command | 协议命令操作QPS | 个 | ||||
连接数 | MongoDB_TotalConns | connections_active | 当前活跃连接数 | 个 | 连接到server端的当前正在进行操作的客户端连接数量。 | |
current_conn | 当前连接数 | 个 | 连接到server端的所有客户端的连接数量,包含副本集内部其他节点建立的连接或mongos与shard上建立的连接。 | |||
connections_totalCreated_ps | 每秒新建连接的总数 | 个 | - |
| ||
connections_available | 当前可用的连接数 | 个 | - | |||
连接数使用率 | ConnectionUsage | conn_usage | 连接数使用率 | % |
| |
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使用量 | 次/秒 |
| |
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 | 已准备好的事务数 | 个 | - |
|
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配置受限于会话的超时时间,详情参见文档。 |
| ||
WiredTiger | MongoDB_Wt_Cache | bytes_read_into_cache | 读入缓存的字节数 | Bytes | 磁盘读取到wiredTiger缓存中的数据字节数。 | |
bytes_written_from_cache | 从缓存写出的字节数 | Bytes | 从wiredTiger缓存中写入到磁盘的数据字节数。 | |||
maximum_bytes_configured | 最大缓存大小 | Bytes | wiredTiger配置的缓存最大字节数,考虑到兼容性和安全性,云数据库 MongoDB 版将存储引擎WiredTiger的CacheSize设置为实际申请的实例内存规格大小的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 | 查询扫描文档的数量 | 个 | 在执行查询和查询计划评估过程中被扫描的文档的总数量。与 | |
queryExecutor_scanned_ps | 查询扫描索引的数量 | 个 | 在执行查询和查询计划评估过程中被扫描的索引项的总数量。与 | |||
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的详细介绍,请参考实例规格。 说明 仅支持云盘版实例。 |
|
主备延时 | MongoDB_Repl_Lag | repl_lag | 主备节点的数据同步延时 | 秒 |
|
|
Oplog保留时长 | MongoDB_OplogTimeInterval | oplog_time_interval | Oplog保留时长 | 小时 | 4.4及以上版本,可在实例详情页调整storage.oplogMinRetentionHours参数进行修改。 | |
moveChunk | MongoDB_MoveChunks | moveChunk_donor_started_ps | 当前节点作为范围迁移源的次数 | 个 | 无论迁移是否成功,该值都会增加。 |
|
moveChunk_recip_stared_ps | 当前节点作为范围迁移目标的次数 | 个 | ||||
每次访问个数 | - | sl_qps | 每秒访问次数 | 个 | - |
|
查询执行器信息 | MongoDB_QueryExecutors | collscans_nontailable | 非tailable cursor的全表扫描数量 | 个 | - |
|
collscans_total | 总的全表扫描数量 | 个 | - | |||
库表数量信息 | MongoDB_CollectionNums | admin_user_coll | admin库下的用户表数量 | 个 | - |
|
断言数量 | 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 | 执行写关注操作花费的平均时间。 |
|
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 | 工作总数 | 个 | 经典多计划器中执行的工作总数。 |
|
逻辑会话缓存信息 | MongoDB_LogicalSession | active_sessions_count | 缓存中逻辑会话数 | 个 | 自上次刷新后缓存中所有逻辑会话(logical sessions)的总数。 |
|
节点监控(原基本监控)
不同类型实例支持的监控项请以控制台为准。
监控项 | key | 指标名 | 指标含义 | 单位 | 详细说明 | 支持的实例类型 |
磁盘空间使用率 | DiskUsage | disk_usage | 磁盘使用率 | % | 实例的磁盘使用空间占磁盘总容量的比例,表示实例的磁盘负载。当您的磁盘使用率达到80%以上时,可在控制台实例详情页面变更实例配置或参考MongoDB实例空间使用率高问题进行处理。 |
|
网络流量 | MongoDB_Network | bytes_in | 网络进口流量 | Bytes | - | |
bytes_out | 网络出口流量 | Bytes | - | |||
num_requests | 处理的请求数 | 个 | - | |||
操作QPS | MongoDB_Opcounters | insert | 插入操作QPS | 个 | MongoDB_Opcounters 参数包含实例收到的所有操作,不论操作是否成功执行。其中,Bulk.insert()类型的批量操作被记录为单条操作,更细粒度的记录可关注MongoDB_Documents 指标, | |
query | 查询操作QPS | 个 | ||||
update | 更新操作QPS | 个 | ||||
delete | 删除操作QPS | 个 | ||||
getmore | 读取操作QPS | 个 | ||||
command | 协议命令操作QPS | 个 | ||||
连接数 | MongoDB_TotalConns | connections_active | 当前活跃连接数 | 个 | 连接到server端的当前正在进行操作的客户端连接数量。 | |
current_conn | 当前连接数 | 个 | 连接到server端的所有客户端的连接数量,包含副本集内部其他节点建立的连接或mongos与shard上建立的连接。 | |||
connections_totalCreated_ps | 每秒新建连接的总数 | 个 | - |
| ||
connections_available | 当前可用的连接数 | 个 | - | |||
连接数使用率 | ConnectionUsage | conn_usage | 连接数使用率 | % |
| |
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使用量 | 次/秒 |
| |
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 | 已准备好的事务数 | 个 | - |
|
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配置受限于会话的超时时间,详情参见文档。 |
| ||
WiredTiger | MongoDB_Wt_Cache | bytes_read_into_cache | 读入缓存的字节数 | Bytes | 磁盘读取到wiredTiger缓存中的数据字节数。 | |
bytes_written_from_cache | 从缓存写出的字节数 | Bytes | 从wiredTiger缓存中写入到磁盘的数据字节数。 | |||
maximum_bytes_configured | 最大缓存大小 | Bytes | wiredTiger配置的缓存最大字节数,考虑到兼容性和安全性,云数据库 MongoDB 版将存储引擎WiredTiger的CacheSize设置为实际申请的实例内存规格大小的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 | 查询扫描文档的数量 | 个 | 在执行查询和查询计划评估过程中被扫描的文档的总数量。与 | |
queryExecutor_scanned_ps | 查询扫描索引的数量 | 个 | 在执行查询和查询计划评估过程中被扫描的索引项的总数量。与 | |||
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的详细介绍,请参考实例规格。 说明 仅支持云盘版实例。 |
|
主备延时 | MongoDB_Repl_Lag | repl_lag | 主备节点的数据同步延时 | 秒 |
|
|
Oplog保留时长 | MongoDB_OplogTimeInterval | oplog_time_interval | Oplog保留时长 | 小时 | 4.4及以上版本,可在实例详情页调整storage.oplogMinRetentionHours参数进行修改。 | |
moveChunk | MongoDB_MoveChunks | moveChunk_donor_started_ps | 当前节点作为范围迁移源的次数 | 个 | 无论迁移是否成功,该值都会增加。 |
|
moveChunk_recip_stared_ps | 当前节点作为范围迁移目标的次数 | 个 | ||||
每次访问个数 | - | sl_qps | 每秒访问次数 | 个 | - |
|
查询执行器信息 | MongoDB_QueryExecutors | collscans_nontailable | 非tailable cursor的全表扫描数量 | 个 | - |
|
collscans_total | 总的全表扫描数量 | 个 | - | |||
库表数量信息 | MongoDB_CollectionNums | admin_user_coll | admin库下的用户表数量 | 个 | - |
|
断言数量 | 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 | 执行写关注操作花费的平均时间。 |
|
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 | 工作总数 | 个 | 经典多计划器中执行的工作总数。 |
|
逻辑会话缓存信息 | 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 | WiredTiger脏cache使用率。 | % | ||
影响文档数量 | 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: | 磁盘读写带宽使用率。 说明
| % | |
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使用量。 说明
| 次/秒 |
IOPS使用率 | iops_usage | 实例使用IOPS大小与最大可用IOPS的比值。 说明 4.2版本云盘版实例暂不支持查看IOPS使用量和IOPS使用率。 | % | |
主备延迟 | repl_lag | 实例主备节点的数据同步延时信息。 说明
| 秒 | |
分片集群实例 | 分片集群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 | 当前节点作为moveChunk或moveRange源的次数。 | 个 | |
recipientCount | 当前节点作为目标分片接收Chunks的次数。 | 个 |
性能趋势
不同类型实例支持的监控项请以控制台为准。
支持的实例 | 监控项 | 监控指标及说明 |
| CPU使用率 | mongodb.cpu_usage:实例的CPU使用率。 |
内存使用率 | mongodb.mem_usage:实例的内存使用率。 | |
磁盘空间使用量 | 实例磁盘空间的性能趋势,包括:
| |
cursors | 实例cursor数的性能趋势,包括:
| |
WiredTiger请求队列 | 读写请求数以及剩余可用并发数的性能趋势,包括:
说明 仅支持标准版副本集实例。 | |
WiredTiger | 实例WiredTiger引擎cache层指标的性能趋势,包括:
说明 仅支持标准版副本集实例。 | |
| 磁盘空间使用率 | mongodb.disk_usage:mongodb磁盘使用率。 |
操作QPS | 实例操作QPS的性能趋势,包括:
| |
连接数 | mongodb.connections.current:实例当前连接总数。 | |
网络流量 | 实例网络流量的性能趋势,包括:
| |
| IOPS使用量 | IOPS使用量的性能趋势,包括:
|
IOPS使用率 | mongodb.iops_usage:IOPS使用率。 说明 4.2版本副本集云盘版实例以及4.2版本分片集群云盘版实例暂不支持查看IOPS使用量和IOPS使用率。 | |
副本集实例 | GlobalLock | 实例全局锁的性能趋势,包括:
|