Tzach Asked: 2017-09-29 04:04:53 +0800 CST2017-09-29 04:04:53 +0800 CST 2017-09-29 04:04:53 +0800 CST 如何生成此 MongoDB 诊断 HTML 报告? 772 我在许多 JIRA 错误中看到了这种报告,我想为我的 mongo 实例生成它。 用什么软件生成的? mongodb 1 个回答 Voted Best Answer Stennie 2017-09-29T05:58:42+08:002017-09-29T05:58:42+08:00 这些图表是由 MongoDB 工程团队开发的一些内部工具生成的,这些工具用于处理时间序列数据,这些数据是从 MongoDB 的serverStatus命令和 Linux 工具(如 iostat. 已经有一些使用 Python 和 Go 等语言的工具迭代,但数据的使用和解释目前对于熟悉 MongoDB 内部结构的工程师来说更像是一门艺术。一个普遍的挑战是将可用指标过滤为与您试图了解的性能问题相关(或可能相关)的指标。您在 Jira 中看到的图表图像是工程师手动分析和过滤感兴趣的指标的结果。 我还不知道这些工具的公共版本,但是您应该能够找到一个库来为感兴趣的指标生成类似的紧凑图表:图表格式称为sparkline。屏幕截图中的所有指标都来自命令的wiredTiger 部分serverStatus。 对于操作指标和监控,生产环境通常会输入指标聚合服务器或服务,它可以在整个部署中提供更多交互式监控和警报。例如,MongoDB Cloud Manager (SaaS) 和 MongoDB Ops Manager (on-premises) 都包含常用指标的图表。如果您想实施更多自定义监控,一个很好的参考是MongoDB Cloud Manager 监控代理使用的命令列表。 MongoDB 3.2+ 还包括一个 FTDC(全时数据捕获)功能,该功能定期将指标(服务器状态、复制状态等)记录到 diagnostic.dataMongoDB 目录中的压缩文件中dbPath。与 MongoDB 3.4 一样,诊断历史记录限制为 200MB 的指标。可以看到FTDC源码中使用了哪些命令,eg:src/mongo/db/ftdc/ftdc_mongod.cpp。对于 3.2 之前的 MongoDB 版本,工程师过去常常要求在相关问题期间手动收集相同的信息。FTDC 信息对于 MongoDB 工程师来说非常有用,他们可以请求最近的指标历史记录来帮助诊断问题以进行事后分析,而无需访问您的完整监控解决方案。
这些图表是由 MongoDB 工程团队开发的一些内部工具生成的,这些工具用于处理时间序列数据,这些数据是从 MongoDB 的
serverStatus
命令和 Linux 工具(如iostat
. 已经有一些使用 Python 和 Go 等语言的工具迭代,但数据的使用和解释目前对于熟悉 MongoDB 内部结构的工程师来说更像是一门艺术。一个普遍的挑战是将可用指标过滤为与您试图了解的性能问题相关(或可能相关)的指标。您在 Jira 中看到的图表图像是工程师手动分析和过滤感兴趣的指标的结果。我还不知道这些工具的公共版本,但是您应该能够找到一个库来为感兴趣的指标生成类似的紧凑图表:图表格式称为sparkline。屏幕截图中的所有指标都来自命令的wiredTiger 部分
serverStatus
。对于操作指标和监控,生产环境通常会输入指标聚合服务器或服务,它可以在整个部署中提供更多交互式监控和警报。例如,MongoDB Cloud Manager (SaaS) 和 MongoDB Ops Manager (on-premises) 都包含常用指标的图表。如果您想实施更多自定义监控,一个很好的参考是MongoDB Cloud Manager 监控代理使用的命令列表。
MongoDB 3.2+ 还包括一个 FTDC(全时数据捕获)功能,该功能定期将指标(服务器状态、复制状态等)记录到
diagnostic.data
MongoDB 目录中的压缩文件中dbPath
。与 MongoDB 3.4 一样,诊断历史记录限制为 200MB 的指标。可以看到FTDC源码中使用了哪些命令,eg:src/mongo/db/ftdc/ftdc_mongod.cpp。对于 3.2 之前的 MongoDB 版本,工程师过去常常要求在相关问题期间手动收集相同的信息。FTDC 信息对于 MongoDB 工程师来说非常有用,他们可以请求最近的指标历史记录来帮助诊断问题以进行事后分析,而无需访问您的完整监控解决方案。