性能趋势为您提供 MongoDB 数据库的如下实时监控信息,通过这些信息,帮您定位到耗时命令、耗时命令执行时间、总体延迟分布等。
资源监控:CPU、内存、存储空间、磁盘、连接、流量。
请求统计:请求耗时分布、请求类型分布、延迟10 - 50毫秒请求类型分布、延迟50 - 100毫秒请求类型分布、延迟100毫秒以上请求类型分布、TTL 请求统计、活跃 Session 数量、QPS、请求延迟。
MongoDB 主从复制:从节点复制延迟、oplog 保存时长。
存储引擎:Cache、qr/qw、ar/aw。
支持的性能指标
DBbrain 当前支持的腾讯云 MongoDB 数据库性能指标监控如下:
类别子项 | 指标中文名 | 指标英文名 | 单位 | 指标含义 | 实例 | mongod 节点 |
CPU | 集群最大 CPU 使用率 | cpuusage | % | 实例集群的最大 CPU 使用率 | 支持 | 支持 |
内存 | 内存使用量 | memory | GB | 实际使用内存容量 | 支持 | 支持 |
| 内存使用百分比 | memusage | % | 实际使用内存和申请总内存之比 | 支持 | 支持 |
磁盘 | 磁盘使用百分比 | diskusage | % | 指当前磁盘已被使用的空间占总空间的百分比。 | 支持 | 不支持 |
连接 | 连接数 | conn | 个 | 连接客户端的数量。 | 支持 | 不支持 |
| 连接数百分比 | connper | % | 当前集群的连接数量与最大连接数的比例。 | 支持 | 不支持 |
流量 | 网络入流量 Byte | netin | KB | 节点入流量统计。 | 支持 | 支持 |
| 网络出流量 Byte | neout | KB | 节点出流量统计。 | 支持 | 支持 |
请求耗时分布 | 100ms以上的请求数 | 100ms | 个 | 执行时间超过100毫秒的请求个数。 | 支持 | 支持 |
| 50ms-100ms的请求数 | 50ms | 个 | 执行时间在50毫秒和100毫秒之间的请求个数。 | 支持 | 支持 |
| 10ms-50ms的请求数 | 10ms | 个 | 执行时间在10毫秒和50毫秒之间的请求个数。 | 支持 | 支持 |
| 成功处理的请求数 | success | 个 | 成功处理的请求个数。 | 支持 | 支持 |
请求类型分布 | aggregate 请求个数 | aggregates | 个 | 每秒聚合请求的个数。 | 支持 | 支持 |
| command 请求个数 | commands | 个 | 每秒收到的 Command 请求的个数。Command 为除 insert、update、delete、query 以外命令的总称。 | 支持 | 支持 |
| count 请求个数 | counts | 个 | 每秒收到的 count 请求的个数。 | 支持 | 支持 |
| delete 请求个数 | deletes | 个 | 每秒收到的 delete 请求的个数。 | 支持 | 支持 |
| getmore 请求个数 | getmores | 个 | 每秒收到的 getmore 请求的个数。 | 支持 | 支持 |
| insert 请求个数 | inserts | 个 | 每秒收到的 insert 请求的个数。 | 支持 | 支持 |
| read 请求个数 | reads | 个 | 每秒收到的 read 请求的个数。 | 支持 | 支持 |
| update 请求个数 | updates | 个 | 每秒收到的 update 请求的个数。 | 支持 | 支持 |
延迟10-50毫秒请求类型分布 | 10ms-50ms的 aggregate 请求数 | 10ms_aggregates | 个 | 执行时间在10毫秒到50毫秒之间的 aggregate 请求次数。 | 支持 | 支持 |
| 10ms-50ms的 command 请求数 | 10ms_commands | 个 | 执行时间在10毫秒到50毫秒之间的 command 请求次数。 | 支持 | 支持 |
| 10ms-50ms的 count 请求数 | 10ms_ counts | 个 | 执行时间在10毫秒到50毫秒之间的 count 请求次数。 | 支持 | 支持 |
| 10ms-50ms的 delete 请求数 | 10ms_deletes | 个 | 执行时间在10毫秒到50毫秒之间的 delete 请求次数。 | 支持 | 支持 |
| 10ms-50ms的 getmore 请求数 | 10ms_getmores | 个 | 执行时间在10毫秒到50毫秒之间的 getmore 请求次数。 | 支持 | 支持 |
| 10ms-50ms的 insert 请求数 | 10ms_inserts | 个 | 执行时间在10毫秒到50毫秒之间的 insert 请求次数。 | 支持 | 支持 |
| 10ms-50ms的 read 请求数 | 10ms_reads | 个 | 执行时间在10毫秒到50毫秒之间的 read 请求次数。 | 支持 | 支持 |
| 50ms-100ms的 update 请求数 | 10ms_updates | 个 | 执行时间在10毫秒到50毫秒之间的 update 请求次数。 | 支持 | 支持 |
延迟50-100毫秒请求类型分布 | 50ms-100ms的 aggregate 请求数 | 50ms_aggregates | 个 | 执行时间在50毫秒到100毫秒之间的 aggregate 请求次数。 | 支持 | 支持 |
| 50ms-100ms的 command 请求数 | 50ms_commands | 个 | 执行时间在50毫秒到100毫秒之间的 command 请求次数。 | 支持 | 支持 |
| 50ms-100ms的 count 请求数 | 50ms_ counts | 个 | 执行时间在50毫秒到100毫秒之间的 count 请求次数。 | 支持 | 支持 |
| 50ms-100ms的 delete 请求数 | 50ms_deletes | 个 | 执行时间在50毫秒到100毫秒之间的 delete 请求次数。 | 支持 | 支持 |
| 50ms-100ms的 getmore 请求数 | 50ms_getmores | 个 | 执行时间在50毫秒到100毫秒之间的 getmore 请求次数。 | 支持 | 支持 |
| 50ms-100ms的 insert 请求数 | 50ms_inserts | 个 | 执行时间在50毫秒到100毫秒之间的 insert 请求次数。 | 支持 | 支持 |
| 50ms-100ms的 read 请求数 | 50ms_reads | 个 | 执行时间在50毫秒到100毫秒之间的 read 请求次数。 | 支持 | 支持 |
| 50ms-100ms的 update 请求数 | 50ms_updates | 个 | 执行时间在50毫秒到100毫秒之间的 update 请求次数。 | 支持 | 支持 |
延迟100毫秒以上请求类型分布 | 100ms以上的 aggregate 请求数 | 100ms_aggregates | 个 | 执行时间在100毫秒以上的 aggregate 请求次数。 | 支持 | 支持 |
| 100ms以上的 command 请求数 | 100ms_commands | 个 | 执行时间在100毫秒以上的 command 请求次数。 | 支持 | 支持 |
| 100ms以上的 count 请求数 | 100ms_ counts | 个 | 执行时间在100毫秒以上的 count 请求次数。 | 支持 | 支持 |
| 100ms以上的 delete 请求数 | 100ms_deletes | 个 | 执行时间在100毫秒以上的 delete 请求次数。 | 支持 | 支持 |
| 100ms以上的 getmore 请求数 | 100ms_getmores | 个 | 执行时间在100毫秒以上的 getmore 请求次数。 | 支持 | 支持 |
| 100ms以上的 insert 请求数 | 100ms_inserts | 个 | 执行时间在100毫秒以上的 insert 请求次数。 | 支持 | 支持 |
| 100ms以上的 read 请求数 | 100ms_reads | 个 | 执行时间在100毫秒以上的 read 请求次数。 | 支持 | 支持 |
| 100ms以上的 update 请求数 | 100ms_updates | 个 | 执行时间在100毫秒以上的 update 请求次数。 | 支持 | 支持 |
请求延迟 | aggregate 请求平均延迟 | avg_aggregate_ms | 微秒 | 集群 aggregate 请求的平均时延。 | 支持 | 支持 |
| command 请求平均延迟 | avg_aggregate_ms | 微秒 | 集群 Command 请求的平均时延。 | 支持 | 支持 |
| count 请求平均延迟 | avg_aggregate_ms | 微秒 | 集群 aggregate 请求的平均时延。 | 支持 | 支持 |
| delete 请求平均延迟 | avg_aggregate_ms | 微秒 | 集群 delete 请求的平均时延。 | 支持 | 支持 |
| getmore 请求平均延迟 | avg_aggregate_ms | 微秒 | 集群 getmore 请求的平均时延。 | 支持 | 支持 |
| insert 请求平均延迟 | avg_aggregate_ms | 微秒 | 集群 insert 请求的平均时延。 | 支持 | 支持 |
| read 请求平均延迟 | avg_aggregate_ms | 微秒 | 集群 read 请求的平均时延。 | 支持 | 支持 |
| update 请求平均延迟 | avg_aggregate_ms | 微秒 | 集群 update 请求的平均时延。 | 支持 | 支持 |
| 所有请求的平均延迟 | avg_all_requests_ms | 微秒 | 集群聚合请求的平均时延。 | 支持 | 支持 |
QPS | QPS | qps | 次/秒 | 每秒所有请求的次数。 | 支持 | 支持 |
存储空间 | 磁盘使用量 | disk | MB | Mongod 节点当前磁盘已被使用的空间。 | 不支持 | 支持 |
| 磁盘使用百分比 | diskusage | % | Mongod 节点当前磁盘已被使用的空间占总空间的百分比。 | 不支持 | 支持 |
TTL 请求 | ttl 删除的数据条数 | ttl_deleted | 个 | 在 TTL 过期后,数据库自动删除的数据条数。 | 不支持 | 支持 |
| ttl 发起次数 | ttl_pass | 个 | 指在数据库中设置的 TTL 时间内,TTL 请求被发起的次数。 | 不支持 | 支持 |
活跃 Session 数量 | 活跃 Session 数量 | activesession | 个 | Session 表示客户端与服务器之间的一次会话。在客户端与服务器建立连接后,可以通过创建一个session来进行数据的读写操作。当session被创建后,它会一直保持活跃状态,直到客户端主动关闭连接或者超时断开连接。该指标监控当前 Mongod 节点活跃的 session 数量。 | 不支持 | 支持 |
从节点复制延迟 | 主从延迟(秒) | slaveday | 秒 | 从节点定期轮询主节点的 oplog(操作日志)来复制 Primary 节点的数据,该指标统计主从同步数据的时延。 | 不支持 | 支持 |
oplog 保存时长 | oplog 保留时间(小时) | oplogreservetime | 小时 | Oplog 用于记录数据库的操作日志,该指标统计其保存时长。 | 不支持 | 支持 |
Cache | cache 命中率 | hit_ratio | 个 | 指从缓存中获取数据的请求数与总请求数之间的比例 | 不支持 | 支持 |
| Cache 脏数据百分比 | cache_dirty | % | 缓存中脏数据的大小(字节)与最大缓存的百分比。 | 不支持 | 支持 |
| Cache 使用百分比 | cache_used | % | 缓存中实际占用的容量与配置的最大缓存之间的比例。 | 不支持 | 支持 |
qr/qw | WT 引擎的 QueueRead | qr | 个 | 队列中 Read 请求的等待个数。 | 不支持 | 支持 |
| WT 引擎的 QueueWrite | qw | 个 | 队列中 Write 请求的等待个数。 | 不支持 | 支持 |
ar/aw | WT 引擎的 ActiveRead | ar | 个 | 数据在内存中被读请求的个数。 | 不支持 | 支持 |
| WT 引擎的 ActiveWrite | aw | 个 | 数据在内存中被写请求的个数。 | 不支持 | 支持 |
查看性能趋势
步骤1:选择监控维度
1. 登录 DBbrain 控制台。
2. 在左侧导航栏,选择诊断优化。
3. 在上方选择 MongoDB 数据库类型及实例 ID,选择性能趋势页签。
4. 选择待查看的监控维度。


监控维度支持 MongoDB 实例、mongod 节点。
实例:展现实例的监控视图,支持查看实时、历史和 MongoStatus 的监控数据。
mongod 节点:支持查看单节点的监控指标,支持查看单节点的实时、历史、MongoStatus、MongoTop 的监控数据。查看 MongoDB 节点状态,详情请参见 MongoStaus、MongoTop。
步骤2:选择监控指标
单击指标下拉框,勾选性能指标,也可在右上方快捷选择关键指标、全选或全不选,选择指标后,单击保存。

步骤3:查看性能趋势监控视图
根据以上步骤设置的查看条件,查看性能趋势监控视图。


切换实时或历史视图
单击实时或历史,查看对应的实时性能趋势和历史性能趋势。
实时性能趋势视图:用户可以查看实例的性能趋势状况,默认开启自动刷新,刷新频率为5秒,支持选择5秒、10秒、15秒,并支持关闭自动刷新按钮。


历史性能趋势视图:选择不同的时间段,会显示所选时间段内的性能趋势监控视图,支持近1小时、近3小时、近24小时、近7天以及自定义时间的切换查看。


单击添加时间对比,选定所关注的对比时间段,可以查看多性能指标趋势的时间对比。


多节点性能指标对比
目前仅支持对监控维度为 mongod 节点的多节点性能指标对比。
1. 在页面上方单击多节点性能对比。


2. 在右侧弹框单击新建多节点性能对比,选择类型、监控时间和监控项,单击确定。


3. 在右侧弹框中单击查看。


4. 查看生成的全节点对比图。


开启图表联动
在页面右侧单击图表联动按钮,可以查看多指标监控视图的关联对比。鼠标悬停至任一监控图上的数据点,其他监控视图会显示同一个时间的数据。单击后可固定数据显示,如需取消固定,单击撤销固定即可。


以图表形式展示监控指标数据
在页面右侧单击显示统计分析按钮,全局指标监控图中下方以表格形式展示每一个监控指标最大值、最小值、平均值的统计数据。


在单个指标监控图右上方单击
,以表格形式展示该监控指标最大值、最小值、平均值的统计数据。

自定义监控指标对比分析
在任一监控视图右上方,单击
,可添加其他类型的监控指标项进行对比查看分析。



切换监控视图单列/双列显示模式
单击右上角的图表联动右侧的
,可切换单列模式和双列模式的显示。单列模式请参见下图。



自由拖动监控视图位置
监控视图之间可以随意拖动,鼠标单击监控图的边框部位即可拖动。您可根据运维场景灵活调整监控视图的先后顺序,便于高效查看分析。
细粒度查看监控图
在单个监控图中拖动鼠标选择待放大的时间段,细粒度展示该时间段的趋势图。单击重置可恢复。


放大监控视图
拖动任一监控图右下方的图标,可以任意拉伸放大图片,便于更加清晰地投放展示指标的变化趋势图。

