我的macbook(OSX(上运行了mongo。
有可能运行某种"监视器"来向我的mongodb显示任何收入请求吗?
我需要跟踪应用程序中的查询格式是否正确。
您会发现这些工具(或实用程序(对监控和诊断都很有用。除了mtools
之外的所有工具都与MongoDB服务器打包在一起(有时它们是单独安装的(。
1.数据库档案器
探查器存储进入数据库的每个CRUD操作;默认情况下,它处于禁用状态。戴上它相当昂贵;它将每次读取转换为读取+插入,将每次写入转换为写入+插入注意:保持打开状态可以通过传入操作快速压倒服务器-使IO饱和。
但是,当短时间使用它来查找数据库操作时,它是一个非常有用的工具。建议在开发环境中使用。
可以使用命令db.getProfilingLevel()
访问探查器设置。要激活配置文件,请使用db.setProfilingLevel(level)
命令。验证探查器在db.system.profile
集合中捕获的内容;您可以像使用find
或aggregate
方法的任何其他集合一样查询它。db.system.profile
文档字段op
指定数据库操作的类型;例如,对于查询,它是"查询"。
探查器有三个级别:0
未捕获任何信息(或已关闭并默认(。1
捕获每一个超过100ms的查询。2
捕获每个查询;这可以用来查找实际进入的负载。
2.mongoreplay
mongoreplay是MongoDB的流量捕获和回放工具,您可以使用它来检查和记录发送到MongoDB实例的命令,然后在以后将这些命令回放到另一台主机上。注意:适用于Linux和macOS。
3.mongostat
mongostat命令行实用程序提供了当前运行的mongod实例的状态的快速概述。
您可以实时查看传入操作。默认情况下,统计数据会每秒显示一次。有各种选项可以自定义输出、时间间隔等。
4.mtools
mtools是一个助手脚本的集合,用于解析、过滤和可视化(通过图形(MongoDB日志文件。
您会发现mlogfilter
脚本非常有用;它使用各种命令选项减少了MongoDB日志文件中的信息量。例如,mlogfilter mongod.log --operation query
仅通过查询操作过滤日志。