mongotop跟踪Mongodb集合读取和写入数据

版本控制

从 MongoDB 4.4 开始,MongoDB 数据库工具现在与 MongoDB 服务器分开发布,并使用自己的版本控制,初始版本为100.0.0. 此前,这些工具与 MongoDB 服务器一起发布,并使用匹配的版本控制。

兼容性

mongotop 版本100.7.3支持以下版本的 MongoDB Server:

MongoDB 6.0

MongoDB 5.0

MongoDB 4.4

MongoDB 4.2

行为

  • mongotop 程序使用 top 收集数据的命令。 top 返回累积使用统计信息,mongotop 重置每个轮询间隔的使用统计信息。
  • 当指定副本集列表格式时,mongotop 总是连接到主服务器。
  • 如果连接到一个副本集,而主副本集不可达,则montop返回一个错误消息。

示例

要连接 mongotop 到一个 mongod , 请在系统命令行执行,不是通过 mongo shell 。 如下:

  • 实例在远程主机上运行并每 5 秒报告一次。
  • –uri: 指定主机和端口的选项。
  • 运行 mongotop 的用户必须有 serverStatus 和 top 特权。内置角色 clusterMonitor 提供这些特权。
sit_rs1:PRIMARY> db.getRole("clusterMonitor", { showPrivileges: true }).privileges[0]
{
       "resource" : {
               "cluster" : true
       },
       "actions" : [
               "checkFreeMonitoringStatus",
               "connPoolStats",
               "getDefaultRWConcern",
               "getCmdLineOpts",
               "getLog",
               "getParameter",
               "getShardMap",
               "hostInfo",
               "inprog",
               "listDatabases",
               "listSessions",
               "listShards",
               "netstat",
               "replSetGetConfig",
               "replSetGetStatus",
               "serverStatus",                #  ------>  serverStatus  特权  
               "shardingState",
               "top",                         #  ----->   top 特权
               "useUUID"
       ]
}

连接单台服务器:

  • –uri= 指定可解析的 URI 连接字符串 MongoDB 部署的信息,用引号引起来:
root@ubuntu-x64_01:/opt# mongotop 5 --uri='mongodb://admin:******@192.168.88.11:27017/admin?authSource=admin&ssl=false'
2023-07-28T09:53:15.273+0800    WARNING: On some systems, a password provided directly in a connection string or using --uri may be visible to system status programs such as `ps` that may be invoked by other users. Consider omitting the password to provide it via stdin, or using the --config option to specify a configuration file with the password.
2023-07-28T09:53:15.292+0800    connected to: mongodb://[**REDACTED**]@192.168.88.11:27017/admin?authSource=admin&ssl=false

                    ns    total    read    write    2023-07-28T09:53:20+08:00
        local.oplog.rs      8ms     8ms      0ms                             
     admin.system.keys      0ms     0ms      0ms                             
    admin.system.roles      0ms     0ms      0ms                             
    admin.system.users      0ms     0ms      0ms                             
  admin.system.version      0ms     0ms      0ms                             
       config.settings      0ms     0ms      0ms                             
config.system.sessions      0ms     0ms      0ms                             
   config.transactions      0ms     0ms      0ms                             
local.replset.election      0ms     0ms      0ms                             
  local.system.replset      0ms     0ms      0ms                             

                    ns    total    read    write    2023-07-28T09:53:25+08:00
        local.oplog.rs     10ms    10ms      0ms                             
     admin.system.keys      0ms     0ms      0ms                             
    admin.system.roles      0ms     0ms      0ms                             
    admin.system.users      0ms     0ms      0ms                             
  admin.system.version      0ms     0ms      0ms                             
       config.settings      0ms     0ms      0ms                             
config.system.sessions      0ms     0ms      0ms                             
   config.transactions      0ms     0ms      0ms                             
local.replset.election      0ms     0ms      0ms                             
  local.system.replset      0ms     0ms      0ms                             

                    ns    total    read    write    2023-07-28T09:53:30+08:00
        local.oplog.rs      9ms     9ms      0ms                             
     admin.system.keys      0ms     0ms      0ms                             
    admin.system.roles      0ms     0ms      0ms                             
    admin.system.users      0ms     0ms      0ms                             
  admin.system.version      0ms     0ms      0ms                             
       config.settings      0ms     0ms      0ms                             
config.system.sessions      0ms     0ms      0ms                             
   config.transactions      0ms     0ms      0ms                             
local.replset.election      0ms     0ms      0ms                             
  local.system.replset      0ms     0ms      0ms  
  • 100.0从版本开始 mongotop连接字符串也可以作为位置参数提供,而不使用 --uri, 作为位置参数,可以在命令行上的任何点指定连接字符串,只要它以 mongodb:/ / 或 mongodb+srv:// 开头。例如:
root@ubuntu-x64_01:/opt# mongotop 5 --username admin --password ****** --authenticationDatabase=admin mongodb://192.168.88.11:27017 
2023-07-28T10:06:31.684+0800    WARNING: On some systems, a password provided directly using --password may be visible to system status programs such as `ps` that may be invoked by other users. Consider omitting the password to provide it via stdin, or using the --config option to specify a configuration file with the password.
2023-07-28T10:06:31.702+0800    connected to: mongodb://192.168.88.11:27017

                    ns    total    read    write    2023-07-28T10:06:36+08:00
        local.oplog.rs     16ms    16ms      0ms                             
     admin.system.keys      0ms     0ms      0ms                             
    admin.system.roles      0ms     0ms      0ms                             
    admin.system.users      0ms     0ms      0ms                             
  admin.system.version      0ms     0ms      0ms                             
       config.settings      0ms     0ms      0ms                             
config.system.sessions      0ms     0ms      0ms                             
   config.transactions      0ms     0ms      0ms                             
local.replset.election      0ms     0ms      0ms                             
  local.system.replset      0ms     0ms      0ms                             

                    ns    total    read    write    2023-07-28T10:06:41+08:00
        local.oplog.rs     12ms    12ms      0ms                             
     admin.system.keys      0ms     0ms      0ms                             
    admin.system.roles      0ms     0ms      0ms                             
    admin.system.users      0ms     0ms      0ms                             
  admin.system.version      0ms     0ms      0ms                             
       config.settings      0ms     0ms      0ms                             
config.system.sessions      0ms     0ms      0ms                             
   config.transactions      0ms     0ms      0ms                             
local.replset.election      0ms     0ms      0ms                             
  local.system.replset      0ms     0ms      0ms                             

                    ns    total    read    write    2023-07-28T10:06:46+08:00
        local.oplog.rs     12ms    12ms      0ms                             
     admin.system.keys      0ms     0ms      0ms                             
    admin.system.roles      0ms     0ms      0ms                             
    admin.system.users      0ms     0ms      0ms                             
  admin.system.version      0ms     0ms      0ms                             
       config.settings      0ms     0ms      0ms                             
config.system.sessions      0ms     0ms      0ms                             
   config.transactions      0ms     0ms      0ms                             
local.replset.election      0ms     0ms      0ms                             
  local.system.replset      0ms     0ms      0ms  
  • 或者,您可以使用 --host 和 --port 指定主机和端口的选项:如果 mongod 实例需要认证,可以指定用户 -u,以及认证数据库 --authenticationDatabase。如果省略 --password 选项会提示输入密码。
root@ubuntu-x64_01:/opt# mongotop 5 --username=admin --password=****** --authenticationDatabase=admin --host=192.168.88.11 --port=27017 
2023-07-28T10:20:34.908+0800    WARNING: On some systems, a password provided directly using --password may be visible to system status programs such as `ps` that may be invoked by other users. Consider omitting the password to provide it via stdin, or using the --config option to specify a configuration file with the password.
2023-07-28T10:20:34.927+0800    connected to: mongodb://192.168.88.11:27017/

                    ns    total    read    write    2023-07-28T10:20:39+08:00
        local.oplog.rs     12ms    12ms      0ms                             
     admin.system.keys      0ms     0ms      0ms                             
    admin.system.roles      0ms     0ms      0ms                             
    admin.system.users      0ms     0ms      0ms                             
  admin.system.version      0ms     0ms      0ms                             
       config.settings      0ms     0ms      0ms                             
config.system.sessions      0ms     0ms      0ms                             
   config.transactions      0ms     0ms      0ms                             
local.replset.election      0ms     0ms      0ms                             
  local.system.replset      0ms     0ms      0ms                             

                    ns    total    read    write    2023-07-28T10:20:44+08:00
        local.oplog.rs     14ms    14ms      0ms                             
     admin.system.keys      0ms     0ms      0ms                             
    admin.system.roles      0ms     0ms      0ms                             
    admin.system.users      0ms     0ms      0ms                             
  admin.system.version      0ms     0ms      0ms                             
       config.settings      0ms     0ms      0ms                             
config.system.sessions      0ms     0ms      0ms                             
   config.transactions      0ms     0ms      0ms                             
local.replset.election      0ms     0ms      0ms                             
  local.system.replset      0ms     0ms      0ms                             

                    ns    total    read    write    2023-07-28T10:20:49+08:00
        local.oplog.rs      9ms     9ms      0ms                             
     admin.system.keys      0ms     0ms      0ms                             
    admin.system.roles      0ms     0ms      0ms                             
    admin.system.users      0ms     0ms      0ms                             
  admin.system.version      0ms     0ms      0ms                             
       config.settings      0ms     0ms      0ms                             
config.system.sessions      0ms     0ms      0ms                             
   config.transactions      0ms     0ms      0ms                             
local.replset.election      0ms     0ms      0ms                             
  local.system.replset      0ms     0ms      0ms   

Fields

mongotop 返回以毫秒 (ms.) 为单位指定的时间值, mongotop 仅报告活动的命名空间或数据库。如果您没有看到数据库或集合,则表明它最近没有收到任何活动。

字段 描述
mongotop.ns 包含数据库名称空间,它组合了数据库名称和集合。
mongotop.db 包含数据库的名称。以“.”命名的数据库是指全局锁,而不是特定的数据库。该字段不会出现,除非您使用 --locks 选项调用了montop。–locks 在mongod 3.0或更新版本的实例上调用时,如果没有报告每个数据库的锁使用情况,则返回错误。
mongotop.total 提供此mongod在此名称空间上操作所花费的总时间。
mongotop.read 提供此mongod在此名称空间上执行读操作所花费的时间。
mongotop.write 提供此mongod在此名称空间上执行写操作所花费的时间。
mongotop. 为返回的数据提供时间戳。

你可能感兴趣的:(MongoDB,mongodb,数据库)