如何生成此 MongoDB 诊断 HTML 报告?

Tza*_*ach 4 mongodb

我在许多 JIRA 错误中看到这种报告,我想为我的 mongo 实例生成它。

是用什么软件生成的?

在此处输入图片说明

Ste*_*nie 8

这些图表由 MongoDB 工程团队开发的一些内部工具生成,用于处理从 MongoDBserverStatus命令和 Linux 工具(如 iostat. 已经有几次使用 Python 和 Go 等语言的工具迭代,但对于熟悉 MongoDB 内部结构的工程师来说,数据的使用和解释目前更像是一门艺术。一个普遍的挑战是将可用指标过滤为与您试图理解的性能问题相关(或可能相关)的指标。您在 Jira 中看到的图表图像是工程师手动分析和过滤感兴趣的指标的结果。

我还不知道这些工具的公共版本,但是您应该能够找到一个库来为感兴趣的指标生成类似的紧凑图表:图表格式称为sparkline。屏幕截图中的所有指标均来自命令wiredTiger 部分serverStatus

对于操作指标和监控,生产环境通常会提供给指标聚合服务器或服务,它可以在整个部署中提供更多交互式监控和警报。例如,MongoDB Cloud Manager (SaaS) 和 MongoDB Ops Manager(本地)都包含常用指标的图表。如果你想实现更多的自定义监控,一个很好的参考是MongoDB Cloud Manager 监控代理使用命令列表。

MongoDB 3.2+ 还包括一个 FTDC(全时数据捕获)功能,该功能会定期将指标(serverStatus、复制状态等)记录到diagnostic.dataMongoDB 目录中的压缩文件中 dbPath。在 MongoDB 3.4 中,诊断历史记录限制为 200MB 的指标。你可以看到 FTDC 源代码中使用了哪些命令,例如:src/mongo/db/ftdc/ftdc_mongod.cpp。对于 3.2 之前的 MongoDB 版本,工程师过去常常要求手动收集相关问题时期的相同信息。FTDC 信息对于 MongoDB 工程师非常有用,他们能够请求最近的指标历史记录来帮助诊断问题以进行事后分析,而无需访问完整的监控解决方案。