您可以将 M10+ Atlas集群配置为每分钟将系统日志导出到 AWS S3 存储桶。
这种集成允许您:
指定要导出到 S3 存储桶的 MongoDB日志文件。 Atlas支持导出以下日志类型:
mongodmongosmongod-auditmongos-audit
最多可设置 10 导出路径,允许您将日志同时导出到多个 AWS S3 存储桶。
通过配置与 S3 多区域访问点 (MRAP) ARN 的集成,将日志发送到 MRAP。您目前只能使用Atlas Administration API配置 MRAP ARN。不支持 MRAP 别名。
重要
日志可能包含敏感信息(包括 PII)。您负责存储和处理 AWS S3 存储桶中的日志。要让Atlas在导出日志之前编辑某些信息,联系MongoDB支持部门。
必需的访问权限
要将日志导出到 AWS S3 存储桶,您必须拥有Atlas的 Project Owner 或 Organization Owner访问权限。
Considerations
每台Atlas托管每天通常会生成 1 GB的日志。导出日志会产生数据传输费用。确切的数据传输费用因目的地、地区和云提供商而异。
网络问题或重试可能会导致 AWS S3 存储桶出现重复的日志条目。
AWS IAM角色和 S3 存储桶必须属于同一 AWS 账户。
先决条件
您需要:
具有 sts:AssumeRole 的 AWS IAM角色,用于授予Atlas访问权限您的 AWS资源的权限,并将最大会话持续时间设立为 12 小时。
现有的 AWS S3 存储桶。
运行MongoDB 7.0 或更高版本的
M10+Atlas 集群。
步骤
要将日志导出到 AWS S3 存储桶,请完成以下步骤。
在 Atlas 中,转到 Project Settings(项目设置)页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
在侧边栏中,单击 图标 Project Overview 旁边的图标。
显示项目设置页面。
授予 Atlas 访问权限到您的 AWS 帐户。
从 Authorize an AWS IAM Role 下拉列表中,选择您的 ARN。要添加 ARN,请参阅设置统一 AWS 访问。
单击 Next(连接)。
将Atlas连接到您的 AWS S3 存储桶。
在 Bucket Name字段中,输入 AWS 账户中显示的 S3 存储桶的名称。
在 Prefix字段中,输入目录名称以组织 S3 存储桶的内容。示例,输入
logs/会在您的 S3存储桶中创建一个logs目录,用于存储导出的日志。在 Log Type 下,选择要导出的日志类型。
MongoDB Logs 每个
mongod服务器进程写入的诊断日志。它们记录服务器的初创企业和关闭、配置、连接、慢速查询、复制、分片活动和其他操作事件。MongoDB Audit Logs Atlas 审核
mongod发出的日志,用于追踪系统事件操作,例如身份验证尝试、授权检查、角色更改和其他与安全相关的操作。这些日志与主MongoDB日志是分开的。MongoDB Router Logs 分片集群中每个
mongos路由器进程写入的诊断日志。它们捕获特定于路由器的行为,例如将查询路由到分片、分片元数据刷新和一般进程诊断。MongoDB Router Audit Logs Atlas 审核
mongos路由器进程发出的日志,在分片的部署中从路由器的角度记录相同类型的 Atlas 审核系统事件。Events 来自 Project Activity Feed 的事件,例如集成生命周期事件和日志导出状态更改。要学习;了解更多信息,请参阅将操作日志事件导出到外部工具。
(可选)如果要加密 S3 存储桶中的日志,请在 KMS Key字段中输入您的 AWS Key Management Service ( KMS ) 密钥 ARN。要学习;了解更多信息,请参阅使用 AWS KMS管理客户数密钥。
单击 Next(连接)。
导出的日志格式
Atlas将日志作为具有结构化元元数据的JSON对象导出到 S3 存储桶。每个日志条目都包含原始MongoDB日志消息以及标识源集群、托管和日志类型的其他上下文字段。
导出的日志使用与旧版 基于推送的日志导出 (PBLE) 系统不同的结构化格式。这种新格式为日志路由、过滤器和分析提供了增强的元数据。
日志条目结构
每个导出的日志条目都是一个 JSON 对象,具有以下顶级字段:
字段 | 说明 |
|---|---|
| 标识服务类型的字符串。默认设置为 |
| 作为 JSON 编码的 string 的原始 MongoDB 日志消息。这包含来自 MongoDB 的结构化日志数据,包括 |
| 生成日志条目的 MongoDB 托管的完全合格域名(例如 |
| Atlas 项目 ID(也称为群组 ID(group ID)),其中包含集群。 |
| Atlas 使用的内部集群标识符。 |
| 用户定义的集群名称,如 Atlas 用户界面中所示。 |
| 正在导出的日志类型。可能的值: |
| 生成日志条目的 ISO 8601 时间戳。 |
示例日志条目
以下示例显示了典型的导出日志条目:
{ "service.name": "mongodb", "log": "{\"t\":{\"$date\":\"2026-05-19T21:58:00.309+00:00\"},\"s\":\"I\",\"c\":\"NETWORK\",\"id\":6723804,\"ctx\":\"conn928\",\"msg\":\"Ingress TLS handshake complete\",\"attr\":{\"durationMillis\":26}}", "host.name": "atlas-cluster-shard-00-00.nzmz4k.mongodb.net", "mongodb.group.id": "682f18ee72a6a02c8182cab3", "mongodb.cluster.name": "atlas-cluster", "mongodb.customer.cluster.name": "Cluster0", "mongodb.log.type": "mongod", "timestamp": "2026-05-19T21:58:00.309Z" }
log字段包含原始MongoDB日志消息。解析时,它会显示标准MongoDB日志消息结构:
{ "t": {"$date": "2026-05-19T21:58:00.309+00:00"}, "s": "I", "c": "NETWORK", "id": 6723804, "ctx": "conn928", "msg": "Ingress TLS handshake complete", "attr": { "durationMillis": 26 } }
注意
attr 对象中字段的顺序可能因日志条目而异,并且可能与旧版 PBLE 格式不同。您的日志解析工具不应依赖在 attr 中的字段顺序。
基于推送的日志导出 (PBLE) 的变更
外部日志汇总格式包含对旧版 基于推送的日志导出 (PBLE) 系统的多项更改:
更改 | 说明 |
|---|---|
嵌套日志内容 | MongoDB 日志消息现在作为 JSON 编码的 string 嵌套在 |
其他元数据字段 | 新的顶级字段提供有关日志源的上下文: |
日志条目排序 | S3 中日志条目的出现顺序可能与 PBLE 不同。请勿依赖日志条目顺序进行时间分析。请使用 |
属性字段排序 |
|
解析考虑
处理导出的日志时:
两级 JSON 解析:首先解析外层 JSON 对象以访问元数据字段,然后将
log字段解析为 JSON 以访问 MongoDB 日志消息。字段提取:要提取特定的 MongoDB 日志字段(如
msg、c或attr),请先解析log字段。时间戳处理:顶级
timestamp字段使用 ISO 8601 格式,而log内容中的t.$date字段可能使用 MongoDB 的扩展 JSON 格式。两者都表示相同时间。集群识别:使用
mongodb.customer.cluster.name按 Atlas UI 中显示的集群名称过滤日志。mongodb.cluster.name字段包含内部识别符。
从基于推送的日志导出迁移
基于推送的日志导出于 10 月 30 2026 停止接受新配置,并于 2 月 4 2027 终止使用。如果您仍使用基于推送的日志导出,请创建使用相同 IAM角色和存储桶的 S3日志导出集成,验证传输,然后禁用基于推送的日志导出。要保留基于推送的每日文件夹路径结构,请在创建集成时将 useLegacyPathStructure设立为 true。要学习;了解更多信息,请参阅将日志推送到 AWS S3 存储桶。
日志导出失败警报
当日志导出失败或通过为所有项目启用的默认警报恢复时, Atlas会自动通知您。
默认警报
默认下,所有具有外部日志接收器的项目启用以下警报:
这些警报是信息性的,这意味着当满足警报条件时, Atlas立即向所有具有 Project Owner角色的用户发送电子邮件通知,并将警报记录到 Project Activity Feed。这些警报不会显示在 Project Alerts 页面的 Open Alerts 或 Closed Alerts 标签页上。您可以在 Project Alerts 设置中自定义通知收件人和方法。要学习;了解有关信息警报生命周期的更多信息,请参阅警报工作流。
操作日志事件
除了警报之外, Atlas还会将以下信息事件记录到 Project Activity Feed:
Log export has recovered. Queued logs are ready to resume sending.
Log export has recovered. Queued logs are now being sent.
All queued logs have been delivered to sink.