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