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=<connectionString> 指定可解析的 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=falsens total read write 2023-07-28T09:53:20+08:00local.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:00local.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:00local.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:27017ns total read write 2023-07-28T10:06:36+08:00local.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:00local.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:00local.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:00local.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:00local.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:00local.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.<timestamp> | 为返回的数据提供时间戳。 |
相关文章:
mongotop跟踪Mongodb集合读取和写入数据
版本控制 从 MongoDB 4.4 开始,MongoDB 数据库工具现在与 MongoDB 服务器分开发布,并使用自己的版本控制,初始版本为100.0.0. 此前,这些工具与 MongoDB 服务器一起发布,并使用匹配的版本控制。 兼容性 mongotop 版本…...
Linux中使用du命令来查看目录的大小
在Linux中,你可以使用du命令来查看目录的大小。下面是一些常用的du命令选项: -h:以人类可读的格式显示文件大小。-s:仅显示总大小,而不显示每个子目录的大小。-c:显示总大小,并在最后一行显示总…...
【Linux】进程篇Ⅰ:进程信息、进程状态、环境变量、进程地址空间
文章目录 一、概述二、查看进程信息1. 系统文件夹 /proc2. 用户级工具 ps3. getpid() 函数:查看进程 PID4. 用 kill 杀进程5. 进程优先级 二、进程状态分析0. 1. R (running) 运行状态2. S (sleeping) 休眠状态3. D (disk sleep) 不可中断的休眠状态4. T (stopped) …...
保护 TDengine 查询性能——3.0 如何大幅降低乱序数据干扰?
在时序数据库(Time Series Database)场景下,乱序数据的定义为:“时间戳(timestamp)不按照递增顺序到达数据库的数据。”虽然它的定义很简单,但时序数据库需要有相应的处理逻辑来保证数据存储时的…...
状态机实现N位按键消抖
状态机实现N位按键消抖 1、原理 利用状态机实现按键的消抖,具体的原理可参考 (50条消息) 基于FPGA的按键消抖_fpga 按键消抖_辣子鸡味的橘子的博客-CSDN博客 状态机简介: 状态机分类可以主要分为两类:moore和mealy 根据三段式状态机最后…...
uniapp自定义消息语音
需求是后端推送的消息APP要响自定义语音,利用官方插件,总结下整体流程 uniapp后台配置 因为2.0只支持uniapp自己的后台发送消息,所以要自己的后台发送消息只能用1.0 插件地址和代码 插件地址: link let isIos (plus.os.name "iOS&qu…...
k8s安装Jenkins
目录 编辑 一、环境准备 1.1 环境说明 二、安装nfs 2.1 安装NFS 2.2 创建NFS共享文件夹 2.3 配置共享文件夹 2.4 使配置生效 2.5 查看所有共享目录 2.6 启动nfs 2.7 其他节点安装nfs-utils 三、创建PVC卷 3.1 创建namespace 3.2 创建nfs 客户端sa授权 3.3 创建…...
共筑开源新长城 龙蜥社区走进开放原子校源行-清华大学站
6 月 28 日,以“聚缘于校,开源共行”为主题的 2023 年开放原子校源行活动在清华大学成功举行。本次活动由开放原子开源基金会和清华大学共同主办,来自各行业的 22 位大咖共聚校园共话开源。龙蜥社区技术专家边子政受邀进行技术分享࿰…...
Jgit 工具类 (代码检出、删除分支(本地、远程)、新建分支、切换分支、代码提交)
https://blog.csdn.net/qq_37203082/article/details/120327084 Jgit 工具类 (代码检出、删除分支(本地、远程)、新建分支、切换分支、代码提交)_jgit删除远程分支_CJ点的博客-CSDN博客 <!--JAVA操作GIT--><dependency><groupId>org.…...
什么是redux?如何在react 项目中使用redux?
redux 概念 redux是一种用于管理JavaScript应用程序的状态管理库。它可以与React、Augular、Vue等前端框架结合使用,但也可以纯在JavaScript应用程序中独立使用。redux遵循单项数据流的原则,通过一个全局的状态树来管理应用程序的状态,从而使…...
mysql的json处理
写在前面 需要注意,5.7以上版本才支持,但如果是生产环境需要使用的话,尽量使用8.0版本,因为8.0版本对json处理做了比较大的性能优化。你你可以使用select version();来查看版本信息。 本文看下MySQL的json处理。在正式开始让我们先…...
前端学习——Vue (Day8)
Vue3 create-vue搭建Vue3项目 注意要使用nodejs16.0版本以上,windows升级node可以西安使用where node查看本地node位置,然后到官网下载msi文件,在本地路径下安装即可 安装完可以使用node -v检查版本信息 项目目录和关键文件 组合式API - s…...
Windows环境下安装及部署Nginx
一、安装Nginx教程 1、官网下载地址:https://nginx.org/en/download.html 2、下载教程:选择Stable version版本下载到本地 3、下载完成后,解压放入本地非中文的文件夹中: 4、启动nginx:双击nginx.exe,若双击…...
使用AOP切面对返回的数据进行脱敏的问题
1.注解类 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/*** Author: xiaoxin* Date: 2023/7/21 17:15*/ Retention(RetentionPolicy.RUNTIME) Targe…...
TDengine时区设置
一般来说,时序数据就是带有时间序列属性的数据。在处理时序数据时,TDengine有着自己独特的方式。但是如果没有正确理解TDengine在写入和查询上的行为,极可能会因为配置了错误的时区(timezone),而导致写入和…...
站外引流效果差?一文带你搞懂解海外主流社交媒体算法!
在流量成本越来越高的当下,无论是平台卖家还是独立站卖家都在努力拓展流量渠道。站外引流是推动业务增长的关键策略,很多卖家会把重点放在内容营销上,但其实除了做好内容之前,了解社交媒体的算法才能让营销效果最大化。 01.Faceb…...
css 动画之旋转视差
序:网上看到的一个例子,做一下 效果图: 代码: <style>.content{width: 300px;height: 300px;margin: 139px auto;display: grid;grid-template-columns: repeat(3,1fr);grid-template-rows: repeat(3,1fr);grid-template:…...
maven项目、springboot项目复制文件进来后没反应、不编译解决方法
问题如下 把文件复制进springboot项目后,没反应,不编译。 解决 在maven工具框中选择compile工具,运行即可。...
android jetpack App Startup 应用启动时初始化组件(java)
有什么用? 应用启动时初始化组件。 怎么用 添加依赖 dependencies {implementation "androidx.startup:startup-runtime:1.1.1" }创建类,继承Initializer。 public class AppInit implements Initializer<String> {NonNullOverride…...
【设计模式|行为型】命令模式(Command Pattern)
说明 命令模式(Command Pattern)是一种行为设计模式,它将请求封装为一个对象,以便在不同的请求者和接收者之间进行解耦、参数化和操作的队列化。命令模式允许你将具体的请求封装为对象,这些对象之间彼此独立ÿ…...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...
Ubuntu系统复制(U盘-电脑硬盘)
所需环境 电脑自带硬盘:1块 (1T) U盘1:Ubuntu系统引导盘(用于“U盘2”复制到“电脑自带硬盘”) U盘2:Ubuntu系统盘(1T,用于被复制) !!!建议“电脑…...
git: early EOF
macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...
Python学习(8) ----- Python的类与对象
Python 中的类(Class)与对象(Object)是面向对象编程(OOP)的核心。我们可以通过“类是模板,对象是实例”来理解它们的关系。 🧱 一句话理解: 类就像“图纸”,对…...
CSS 工具对比:UnoCSS vs Tailwind CSS,谁是你的菜?
在现代前端开发中,Utility-First (功能优先) CSS 框架已经成为主流。其中,Tailwind CSS 无疑是市场的领导者和标杆。然而,一个名为 UnoCSS 的新星正以其惊人的性能和极致的灵活性迅速崛起。 这篇文章将深入探讨这两款工具的核心理念、技术差…...
