4-Mongodb工具介绍_数据

工具介绍

1.1官网地址

https://docs.mongodb.com/manual/reference/program/

1.2 mongd

mongod是MongoDB系统的主要守护进程,他处理数据请求,管理数据访问,并执行后台管理操作。启动进程制定配置文件,控制数据库的行为

1.3

mongos对于“MongoDB Shard”,是用于处理来自应用层的查询的MongoDB分片配置的路由服务,并确定此数据在分片集群中的位置,以完成这些操作。从应用程序的角度来看,一个mongos实例与其他任何MongoDB实例行为相同

1.4 Mongostat

Mongostat 命令可以快速概括当前正在运行的Mongd或者mongos实例的状态。mongostat在功能上类似于UNIX/Linux文件系统vmstat,但提供有关的数据mongd和mongos实例

1.5Mongtop

Mongotop提供了一种跟踪MongDB实例读取和写入数据的时间量的方法。mongotop提供每个收集级别的统计信息。默认情况下每秒返回一次值

1.6 Mongooplog

Mongooplog是一个简单的工具,可以从远程服务器的复制 oplog轮训操作,并将其应用于本地服务器。此功能支持某些类型的实时迁移,这些迁移要求源服务器保持联机并在整个迁移过程中运行。通常,此命令采用以下形式:
mongoplog -from  --host 

1.7 Mongoplog

Mongoperf是一种独立于MongoDB检查磁盘I/O性能的实用程序。它是随机磁盘I/O的测试并呈现结果。
例如:
echo "{nThreads:16, fileSizeMB:10000, r:true, w:true}"| mongoperf
在这个操作中:
mongoperf测试直接物理机随机读写io的,实用16个并发阅读器线程
mongoperf实用10GB的测试文件
或者参数写入文件里mongoperf < config

1.1

[root@mongod-1 ~]# cd /data/mongodb/bin/
[root@mongod-1 bin]# ll
total 249248
-rwxr-xr-x 1 root root  6153912 Mar 13  2019 bsondump
-rwxr-xr-x 1 root root 29513856 Mar 13  2019 mongo
-rwxr-xr-x 1 root root 54167960 Mar 13  2019 mongod
-rwxr-xr-x 1 root root  9033384 Mar 13  2019 mongodump
-rwxr-xr-x 1 root root  8546776 Mar 13  2019 mongoexport
-rwxr-xr-x 1 root root  8393736 Mar 13  2019 mongofiles
-rwxr-xr-x 1 root root  8696616 Mar 13  2019 mongoimport
-rwxr-xr-x 1 root root  8107936 Mar 13  2019 mongooplog
-rwxr-xr-x 1 root root 53544104 Mar 13  2019 mongoperf
-rwxr-xr-x 1 root root 12027552 Mar 13  2019 mongoreplay
-rwxr-xr-x 1 root root  9164264 Mar 13  2019 mongorestore
-rwxr-xr-x 1 root root 30804936 Mar 13  2019 mongos
-rwxr-xr-x 1 root root  8713128 Mar 13  2019 mongostat
-rwxr-xr-x 1 root root  8329816 Mar 13  2019 mongotop
[root@mongod-1 bin]#
mongod: 	#MongoDB 的守护进程(daemon),用于启动 MongoDB 数据库服务器。它是 MongoDB 的核心服务,负责处理客户端的请求、数据的存储与检索等。
    mongo:		#MongoDB 的命令行界面(CLI),用于与 MongoDB 服务器进行交互。通过它,您可以执行数据库命令、查询数据、管理数据库和用户等。
    mongodump:	#用于导出 MongoDB 数据库中的数据。它可以将整个数据库或指定的集合导出为 BSON 格式的文件,这些文件之后可以使用 mongorestore 工具还原。
    mongorestore:	# 与 mongodump 相反,该工具用于还原之前使用 mongodump 导出的数据。它可以将 BSON 格式的文件还原到 MongoDB 数据库中。
    mongoexport:	#用于将数据从 MongoDB 导出为 JSON 或 CSV 格式的文件。与 mongodump 不同,mongoexport 导出的是人类可读的格式,便于在其他系统或应用程序中使用。
    mongoimport:	#用于将 JSON、CSV 或 TSV 格式的文件导入到 MongoDB 数据库中。它允许您将数据从其他系统或应用程序迁移到 MongoDB。
    bsondump:	#用于将 BSON 格式的文件转储为人类可读的 JSON 格式。这对于分析和调试 BSON 文件非常有用。
    mongofiles:	#该工具允许您通过 MongoDB 的 GridFS 存储和检索文件。GridFS 是 MongoDB 提供的用于存储和检索大文件的文件系统规范。
    mongooplog:	#该用于访问 MongoDB 的操作日志(oplog)。oplog 是 MongoDB 复制和故障恢复的重要组件,记录了数据库的所有变更操作。
    mongostat:	#该工具用于实时监控 MongoDB 的性能状态。它可以显示数据库的连接数、操作数、内存使用情况等关键指标。
    mongotop:	#该工具用于跟踪 MongoDB 中各个集合的读写操作。它可以帮助您识别哪些集合正在消耗最多的资源。
    mongoperf:	#该工具(在某些版本中可能不存在或已被替代)用于进行性能基准测试,以评估 MongoDB 的性能表现。
    mongoreplay:#该工具用于重放从 MongoDB 的 oplog 中捕获的操作日志,以模拟生产环境的负载或进行故障排查。

主要的是这俩

mongoperf:	#该工具(在某些版本中可能不存在或已被替代)用于进行性能基准测试,以评估 MongoDB 的性能表现。
    mongoreplay:#该工具用于重放从 MongoDB 的 oplog 中捕获的操作日志,以模拟生产环境的负载或进行故障排查。
[root@mongod-1 ~]# mongostat
insert query update delete getmore command dirty used flushes vsize   res qrw arw net_in net_out conn                time
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   158b   47.0k    1 Nov 26 17:01:03.353
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   158b   47.0k    1 Nov 26 17:01:04.353
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   158b   47.0k    1 Nov 26 17:01:05.352
    *0    *0     *0     *0       0     1|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   157b   47.0k    1 Nov 26 17:01:06.353
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   158b   47.0k    1 Nov 26 17:01:07.353
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   158b   47.0k    1 Nov 26 17:01:08.353
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   158b   47.0k    1 Nov 26 17:01:09.352
    *0    *0     *0     *0       0     1|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   157b   47.0k    1 Nov 26 17:01:10.353
    *0    *0     *0     *0       0     1|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   157b   47.0k    1 Nov 26 17:01:11.353
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   158b   47.0k    1 Nov 26 17:01:12.353
insert query update delete getmore command dirty used flushes vsize   res qrw arw net_in net_out conn                time
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   158b   47.0k    1 Nov 26 17:01:13.353
    *0    *0     *0     *0       0     1|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   157b   47.0k    1 Nov 26 17:01:14.353
    *0    *0     *0     *0       0     1|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   157b   47.0k    1 Nov 26 17:01:15.353
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   158b   47.0k    1 Nov 26 17:01:16.353
    *0    *0     *0     *0       0     1|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   157b   47.0k    1 Nov 26 17:01:17.353
insert: 每秒插入操作的次数。在这个例子中,*0 表示在采样期间没有插入操作。* 通常表示该值被抑制了,但在这里可能是格式化或显示的问题;通常应该是一个具体的数字或点(.)表示非零但非常小的值。

    query: 每秒查询操作的次数。同样地,*0 表示没有查询操作。

    update: 每秒更新操作的次数。*0 表示没有更新操作。

    delete: 每秒删除操作的次数。*0 表示没有删除操作。

    getmore: 每秒执行 getMore 命令的次数,这通常用于从游标中获取更多的文档。0 表示没有执行 getMore 命令。

    command: 每秒执行的数据库命令数(不包括插入、查询、更新和删除)。2|0 表示在这个采样期间执行了 2 个命令,| 后面的 0 可能是显示格式的一部分,通常这里不会显示 |。

    dirty: 数据库脏数据所占的百分比。脏数据是指已经被修改但还没有被写入磁盘的数据。0.0% 表示没有脏数据。

    used: MongoDB 服务器使用的内存百分比。0.0% 表示几乎没有使用内存(这可能不准确,因为 MongoDB 通常会使用一些内存)。

    flushes: 每秒执行的数据刷新次数到磁盘。0 表示在这个采样期间没有执行数据刷新。

    vsize: 虚拟内存使用量,这里是 915M,表示 MongoDB 进程使用的虚拟内存量。

    res: 实际物理内存使用量,这里是 47.0M,表示 MongoDB 进程实际占用的物理内存量。

    qrw: 读写队列的长度。0|0 表示没有等待的读写操作。

    arw: 活跃读写操作的数量。1|0 表示有一个活跃的读操作,没有活跃的写操作。

    net_in: 每秒从网络接收的数据量。这里是 158b,表示接收了非常少量的数据。

    net_out: 每秒发送到网络的数据量。这里是 47.0k,表示发送了 47 KB 的数据。

    conn: 当前连接到数据库的客户端数量。这里是 1,表示有一个客户端连接。

    time: 输出这行数据时的时间戳。

工具介绍

1.1

[root@mongod-1 ~]# cd /data/mongodb/bin/
[root@mongod-1 bin]# ll
total 249248
-rwxr-xr-x 1 root root  6153912 Mar 13  2019 bsondump
-rwxr-xr-x 1 root root 29513856 Mar 13  2019 mongo
-rwxr-xr-x 1 root root 54167960 Mar 13  2019 mongod
-rwxr-xr-x 1 root root  9033384 Mar 13  2019 mongodump
-rwxr-xr-x 1 root root  8546776 Mar 13  2019 mongoexport
-rwxr-xr-x 1 root root  8393736 Mar 13  2019 mongofiles
-rwxr-xr-x 1 root root  8696616 Mar 13  2019 mongoimport
-rwxr-xr-x 1 root root  8107936 Mar 13  2019 mongooplog
-rwxr-xr-x 1 root root 53544104 Mar 13  2019 mongoperf
-rwxr-xr-x 1 root root 12027552 Mar 13  2019 mongoreplay
-rwxr-xr-x 1 root root  9164264 Mar 13  2019 mongorestore
-rwxr-xr-x 1 root root 30804936 Mar 13  2019 mongos
-rwxr-xr-x 1 root root  8713128 Mar 13  2019 mongostat
-rwxr-xr-x 1 root root  8329816 Mar 13  2019 mongotop
[root@mongod-1 bin]#
mongod: 	#MongoDB 的守护进程(daemon),用于启动 MongoDB 数据库服务器。它是 MongoDB 的核心服务,负责处理客户端的请求、数据的存储与检索等。
    mongo:		#MongoDB 的命令行界面(CLI),用于与 MongoDB 服务器进行交互。通过它,您可以执行数据库命令、查询数据、管理数据库和用户等。
    mongodump:	#用于导出 MongoDB 数据库中的数据。它可以将整个数据库或指定的集合导出为 BSON 格式的文件,这些文件之后可以使用 mongorestore 工具还原。
    mongorestore:	# 与 mongodump 相反,该工具用于还原之前使用 mongodump 导出的数据。它可以将 BSON 格式的文件还原到 MongoDB 数据库中。
    mongoexport:	#用于将数据从 MongoDB 导出为 JSON 或 CSV 格式的文件。与 mongodump 不同,mongoexport 导出的是人类可读的格式,便于在其他系统或应用程序中使用。
    mongoimport:	#用于将 JSON、CSV 或 TSV 格式的文件导入到 MongoDB 数据库中。它允许您将数据从其他系统或应用程序迁移到 MongoDB。
    bsondump:	#用于将 BSON 格式的文件转储为人类可读的 JSON 格式。这对于分析和调试 BSON 文件非常有用。
    mongofiles:	#该工具允许您通过 MongoDB 的 GridFS 存储和检索文件。GridFS 是 MongoDB 提供的用于存储和检索大文件的文件系统规范。
    mongooplog:	#该用于访问 MongoDB 的操作日志(oplog)。oplog 是 MongoDB 复制和故障恢复的重要组件,记录了数据库的所有变更操作。
    mongostat:	#该工具用于实时监控 MongoDB 的性能状态。它可以显示数据库的连接数、操作数、内存使用情况等关键指标。
    mongotop:	#该工具用于跟踪 MongoDB 中各个集合的读写操作。它可以帮助您识别哪些集合正在消耗最多的资源。
    mongoperf:	#该工具(在某些版本中可能不存在或已被替代)用于进行性能基准测试,以评估 MongoDB 的性能表现。
    mongoreplay:#该工具用于重放从 MongoDB 的 oplog 中捕获的操作日志,以模拟生产环境的负载或进行故障排查。

主要的是这俩

mongoperf:	#该工具(在某些版本中可能不存在或已被替代)用于进行性能基准测试,以评估 MongoDB 的性能表现。
    mongoreplay:#该工具用于重放从 MongoDB 的 oplog 中捕获的操作日志,以模拟生产环境的负载或进行故障排查。
[root@mongod-1 ~]# mongostat
insert query update delete getmore command dirty used flushes vsize   res qrw arw net_in net_out conn                time
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   158b   47.0k    1 Nov 26 17:01:03.353
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   158b   47.0k    1 Nov 26 17:01:04.353
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   158b   47.0k    1 Nov 26 17:01:05.352
    *0    *0     *0     *0       0     1|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   157b   47.0k    1 Nov 26 17:01:06.353
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   158b   47.0k    1 Nov 26 17:01:07.353
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   158b   47.0k    1 Nov 26 17:01:08.353
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   158b   47.0k    1 Nov 26 17:01:09.352
    *0    *0     *0     *0       0     1|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   157b   47.0k    1 Nov 26 17:01:10.353
    *0    *0     *0     *0       0     1|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   157b   47.0k    1 Nov 26 17:01:11.353
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   158b   47.0k    1 Nov 26 17:01:12.353
insert query update delete getmore command dirty used flushes vsize   res qrw arw net_in net_out conn                time
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   158b   47.0k    1 Nov 26 17:01:13.353
    *0    *0     *0     *0       0     1|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   157b   47.0k    1 Nov 26 17:01:14.353
    *0    *0     *0     *0       0     1|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   157b   47.0k    1 Nov 26 17:01:15.353
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   158b   47.0k    1 Nov 26 17:01:16.353
    *0    *0     *0     *0       0     1|0  0.0% 0.0%       0  915M 47.0M 0|0 1|0   157b   47.0k    1 Nov 26 17:01:17.353
insert: 
    #每秒插入操作的次数。在这个例子中,*0 表示在采样期间没有插入操作。* 通常表示该值被抑制了,但在这里可能是格式化或显示的问题;通常应该是一个具体的数字或点(.)表示非零但非常小的值。

    query: 
    #每秒查询操作的次数。同样地,*0 表示没有查询操作。

    update: 
    #每秒更新操作的次数。*0 表示没有更新操作。

    delete: 
    #每秒删除操作的次数。*0 表示没有删除操作。

    getmore: 
    #每秒执行 
    #getMore 命令的次数,这通常用于从游标中获取更多的文档。0 表示没有执行 getMore 命令。

    command: 
    #每秒执行的数据库命令数(不包括插入、查询、更新和删除)。2|0 表示在这个采样期间执行了 2 个命令,| 后面的 0 可能是显示格式的一部分,通常这里不会显示 |。

    dirty: 
    #数据库脏数据所占的百分比。脏数据是指已经被修改但还没有被写入磁盘的数据。0.0% 表示没有脏数据。

    used: 
    #MongoDB 服务器使用的内存百分比。0.0% 表示几乎没有使用内存(这可能不准确,因为 MongoDB 通常会使用一些内存)。

    flushes: 
    #每秒执行的数据刷新次数到磁盘。0 表示在这个采样期间没有执行数据刷新。

    vsize: 
    #虚拟内存使用量,这里是 915M,表示 MongoDB 进程使用的虚拟内存量。

    res: 
    #实际物理内存使用量,这里是 47.0M,表示 MongoDB 进程实际占用的物理内存量。

    qrw: 
    #读写队列的长度。0|0 表示没有等待的读写操作。

    arw: 
    #活跃读写操作的数量。1|0 表示有一个活跃的读操作,没有活跃的写操作。

    net_in: 
    #每秒从网络接收的数据量。这里是 158b,表示接收了非常少量的数据。

    net_out: 
    #每秒发送到网络的数据量。这里是 47.0k,表示发送了 47 KB 的数据。

    conn: 
    #当前连接到数据库的客户端数量。这里是 1,表示有一个客户端连接。

    time: 
    #输出这行数据时的时间戳。