对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

Full Time Diagnostic Data Capture

为了帮助 MongoDB 工程师分析服务器行为,mongodmongos 进程包括全时诊断数据捕获 (FTDC) 机制。FTDC 默认处于启用状态。由于 FTDC 在调试部署中的重要性,FTDC 线程故障是致命的,会停止父 mongodmongos 进程。

注意

Windows 上的 FTDC 用户权限

在 Windows 上,要收集磁盘、CPU 和内存等系统数据,FTDC 需要以下群组的 Microsoft 访问权限:

  • 性能监控用户

  • Performance Log Users

如果运行mongodmongos 的用户不是管理员,请将其添加到这些群组中以日志FTDC 数据。有关更多信息,请参阅Microsoft文档

FTDC 定期收集以下命令产生的统计数据:

根据主机操作系统,诊断数据可能包括以下一项或多项利用率统计信息:

  • CPU使用率

  • 内存利用率

  • 磁盘利用率与性能相关。FTDC 不包括与存储容量相关的数据。

  • 网络性能统计信息。FTDC 仅捕获元数据,不捕获或检查任何网络数据包。

注意

如果 mongod 进程在容器中运行,FTDC 将从容器而不是主机操作系统的角度报告利用率统计信息。例如,如果 mongod 在配置了 RAM 限制的容器中运行,FTDC 会根据容器的 RAM 限制(而不是主机操作系统的 RAM 限制)计算内存利用率。

FTDC 在文件轮转或启动时收集以下命令产生的统计数据:

mongod 进程将 FTDC 数据文件存储在 storage.dbPath 实例下的 diagnostic.data 目录中。所有诊断数据文件均存储在此目录中。例如,假定 dbPath/data/db,则诊断数据目录将为 /data/db/diagnostic.data

mongos 进程将 FTDC 数据文件存储在相对于 systemLog.path 日志路径设置的诊断目录中。MongoDB 截断日志路径的文件扩展名并将 diagnostic.data 连接到剩余名称。例如,如果 path 设置为 /var/log/mongodb/mongos.log,则诊断数据目录将为 /var/log/mongodb/mongos.diagnostic.data

FTDC 数据文件是经过压缩的,不适合人直接阅读。它们继承了与 MongoDB 数据文件相同的文件访问权限。只有有权访问 FTDC 数据文件的用户才能传输 FTDC 数据。

没有系统所有者或运营者的明确许可和协助,MongoDB 工程师将无法访问 FTDC 数据。

FTDC 数据在任何情况下都不会包含以下任何信息:

  • 查询、查询谓词或查询结果的样本

  • 从任一最终用户集合或索引中采样的数据

  • 系统或 MongoDB 用户档案或安全证书

FTDC 数据包含某些托管信息,如主机名、操作系统信息以及用于启动 mongodmongos 的选项或设置。某些组织或监管机构可能会将此信息视为受保护或保密信息。对于这些字段配置了受保护或机密数据的集群,请在发送 FTDC 数据之前通知MongoDB工程师,以协调适当的安全措施。

您可以在MongoDB Github存储库上查看 FTDC源代码。ftdc_system_stats_*.ccp 文件专门定义了捕获的任何特定于系统的诊断数据。

FTDC 按以下默认值运行:

  • 每 1 秒采集一次数据

  • 500 MB 最大 diagnostic.data 文件夹大小。

    在版本 8.3 中进行了更改:

    默认值从 250 MB 增加(分片集群为 500 MB)。

这些默认值可为MongoDB工程师提供有用数据,同时对性能或存储大小的影响极小。仅当MongoDB工程师出于特定诊断目的提出请求时,才修改这些值。

重要

当文件夹接近其大小限制时, MongoDB会覆盖较旧的数据。为确保保留关键诊断信息,请在事件发生时捕获 diagnostic.data目录。MongoDB清除 FTDC 数据后,就无法再用于诊断分析。

MongoDB仅在本地托管上存储 FTDC 数据。您不能将 OTel 或其他日志传送管道转发的 FTDC 数据用于诊断目的。

在使用临时存储或 Terraform 等自动化工具的本地部署环境中,终止或重建托管时,FTDC 数据会丢失。为了提高 FTDC 数据用于诊断调查的可用性,请考虑采取以下一项或两项操作:

  • diagnostic.data目录存储在持久存储上。

  • 定期将 diagnostic.data目录复制到持久的外部位置。

MongoDB工程师依靠 FTDC 数据进行准确诊断。

警告

不建议在生产环境中使用。

要禁用 FTDC,请在配置文件的 setParameter 设置中使用diagnosticDataCollectionEnabled: false 选项启动 mongodmongos

setParameter:
diagnosticDataCollectionEnabled: false

在 MongoDB 工程师的支持下,禁用 FTDC 可能会增加分析或调试问题时所需的时间或资源。有关 MongoDB 支持的信息,请访问 MongoDB 支持入门

给本页内容打分

在此页面上