重要
在公开预览期间, Atlas Infinite 集群目前不支持此页面描述的功能。有关公共预览版支持的功能,请参阅公共预览版可用性。
您可以将 M10+ Atlas集群配置为每分钟将系统日志导出到外部服务。将日志导出到外部服务可以实现日志的集中管理、长期保留以及与现有监控和可观察性工具的集成。
支持的日志类型
Atlas支持导出以下日志类型:
mongodlogsmongoslogsmongod-auditlogsmongos-auditlogs
您可以指定要导出的日志类型,并配置最多 10 条导出路径,以将日志同时发送到多个目标。
重要
日志可能包含敏感信息(包括 PII)。您负责在外部服务中存储和处理日志。要让Atlas在导出日志之前编辑某些信息,联系MongoDB支持部门。
Considerations
您必须拥有
Project Owner或Organization Owner访问权限才能配置日志导出。每台Atlas托管每天通常会生成 1 GB的日志。导出日志会产生数据传输费用。确切的数据传输费用因目的地、地区和云提供商而异。
出口日志源自 AWS
us-east-1中的Atlas控制平面,而与集群的地区或云提供商无关。如果您的集群不在 AWSus-east-1中,除了互联网出口费用外,您还会产生跨区域或云间数据传输费用。要学习;了解有关数据传输成本的更多信息,请参阅数据传输成本。网络问题或重试可能会导致外部服务出现重复的日志条目。
故障处理和自动恢复
Atlas自动处理日志导出故障并进行恢复,无需人工干预:
重试和熔断
当将日志传送到外部接收器失败时, Atlas默认会自动使用指数退避进行重试,默认下最多尝试 3。重试延迟从 1 秒开始,并增加一倍,直到两次尝试之间的最大延迟为 10 秒。
在 5 次连续失败后,熔断器会打开,以防止重复请求对目标服务进行大量冲击。熔断器会保持打开状态 5 分钟,然后尝试进行一次测试写入。如果测试成功,则恢复正常操作。如果失败,熔断器会重新打开。
每个接收器配置都有自己独立的断路器,因此一个集成的问题不会影响其他集成。
死信队列 (DLQ)
当重试次数已用尽或出现不可重试的错误(例如无效凭证)时, Atlas会将失败的日志事件放入死信队列 (DLQ),并保留 7 天。 DLQ 可防止接收器不可用时丢失数据。
警告
超过 7 天的日志将从 DLQ 中永久删除。如果您的接收器无法访问的时间超过 7 天,则无法恢复这些日志。
当连接恢复并且熔断器关闭时,Atlas 会自动重新处理从 DLQ 到您的目标的排队日志。无需人工干预。
警告
如果在日志在 DLQ 中排队时修改接收器配置,则排队的日志在重放时将使用新配置。示例,如果将目标从一个 S3 存储桶更改为另一个存储桶,排队的日志将发送到新存储桶,而不是原始目标。
监控和警报
Atlas提供默认警报,在以下情况下自动向 Project Owner用户发送电子邮件通知:
日志导出遇到不可重试的错误(日志在 DLQ 中排队)。
多次重试后,日志导出失败(日志在 DLQ 中排队)。
日志导出重放无法交付记录。
这些警报是信息性的,这意味着它们只显示在项目操作日志中,不会显示在 Project Alerts 页面的 Open Alerts 或Closed Alerts 标签页上。要学习;了解有关信息警报生命周期的更多信息,请参阅警报工作流。
日志导出已恢复(排队的日志已准备好恢复)。
日志导出已恢复(正在发送排队的日志)。
所有排队的日志均已传送。
支持的导出目标位置
下表总结了Atlas支持日志导出的外部服务:
目的地 | 说明 |
|---|---|
将 | |
将 | |
将 | |
将 | |
将 | |
将 |