Docs 菜单
Docs 主页
/ /
/ / /

Atlas 日志指南

要查看 Atlas 平台的活动,请使用日志。

您可以使用 Atlas CLI、Atlas 管理 API 或 Atlas 用户界面进行以下 Atlas 审核活动:

  • 查看和下载 Atlas 审核日志以追踪多用户部署中的系统事件操作。Atlas 管理员可以配置自定义过滤器,以选择要 Atlas 审核的操作、数据库用户、Atlas 角色和 LDAP 群组。

  • 查看和下载 MongoDB 日志以追踪您的部署的日志事件,包括传入连接、运行的命令和遇到的问题。通常,日志消息可用于诊断问题、监控部署和调优性能。

  • Project Activity FeedOrganization Activity Feed 中查看项目和组织事件。这些操作日志列出了组织或项目级别的所有事件,包括与 Atlas 访问、告警配置和监控、计费等相关的更改。

  • 查看访问日志中用户对集群进行的数据库身份验证尝试(即Database access history 在 Atlas 用户界面中)。Atlas 会记录所有成功和失败的身份验证尝试,包括每次尝试的时间戳和发起身份验证的用户。

为了与内置集成之外的工具进行集成,我们建议您使用以下编程工具来检索日志,并将 JSON 格式的输出传递给您的外部工具:

以下建议适用于所有部署范式。

要执行全面Atlas 审核,您可以结合使用Atlas 审核日志MongoDB 日志消息项目和组织操作日志

默认情况下,审计日志消息以 MongoDB 设计的格式返回,该格式称为 mongo 模式。遵循 mongo 模式的 Atlas 审核日志消息始终包含以下信息:

  • 操作类型 (atype)

  • 时间戳

  • 客户端连接 ID(UUID)

  • 客户端 IP 地址和端口号

  • 传入连接的 IP 地址和端口号

  • 用户名

  • 用户身份验证数据库

  • 用户角色

  • 用户角色数据库

  • param 包含特定事件详细信息的文档

  • 结果值或错误代码

有关 Atlas 审核操作类型的完整列表及其相关 param 详情和 result 值,请参阅mongo 模式审核消息。

提示

有关在所有支柱上实施我们建议的 Terraform 示例,请参阅Github中的以下示例之一:

以下示例展示了如何使用 Atlas 自动化工具来检索和下载日志并配置审核。

除以下示例外,请参阅博文使用 HashiCorp Terraform 基于 Atlas 推送的日志导出简化 Amazon S3 的日志管理。

您可以检索日志并下载日志。您还可以检索警报。

  • 检索日志使您能够实时查看和访问当前日志文件。

  • 通过下载日志,您可以从 MongoDB Atlas 创建日志存档,以便日后进行分析或存储。

检索日志以实时监控和检查集群的活动,并在当前日志中排查问题。

集群中的每个mongodmongos实例都会输出自己的MongoDB 日志和Atlas 审核日志消息,其内容可能与其他实例不同。您可以在 Atlas CLI 中使用 atlas deployment logs 命令查看这些日志信息。

要检索群集中某个 mongod 实例的 Atlas 审核日志条目,请提供 mongod 主机名,并指定 mongodb-audit-log.gz 作为 Atlas 审核日志文件的名称:

atlas deployments logs --output json --type atlas --hostname cluster0-shard-00-00.a1b2c.mongodb.net --name mongodb-audit-log.gz

要检索分片集群中 mongos 实例的审核日志条目,请提供 mongos 主机名,并指定 mongos-audit-log.gz 作为日志文件的名称:

atlas deployments logs --output json --type atlas --hostname cluster0-shard-00-00.a1b2c.mongodb.net --name mongos-audit-log.gz

要检索 MongoDB 日志消息,请提供您的 mongodmongos 实例的主机名,并分别指定日志文件名为 mongodb.gzmongos.gz

atlas deployments logs --output json --type atlas --hostname cluster0-shard-00-00.a1b2c.mongodb.net --name mongodb.gz

您还可以使用 atlas accessLogs list 命令来查看节点或集群的访问日志。访问日志是一个 JSON 格式的列表,它列出了针对您指定的节点或集群的所有身份验证请求。

要检索访问日志,请运行 atlas accessLogs list 命令,并指定目标节点或集群的主机名或集群名称:

atlas accessLogs list --output json --clusterName Cluster0

下载日志以专注于历史日志,并对其进行审核或性能分析,或将其存档。

每个 mongodmongos 实例在集群中都有自己的 MongoDB 日志和审核日志,其内容可能与其他实例不同。即使从应用程序的角度来看,mongodmongos 实例的行为与任何其他 MongoDB 实例相同,但它们的日志包含特定于其在 MongoDB 中角色的信息。

  • mongod 的日志包含数据请求、数据访问信息和 MongoDB 的背景管理操作。

  • mongos 的日志包含有关将查询和写入操作路由到分片集群中的分片的信息。

您可以使用 Atlas CLI 命令 atlas logs download 将每个日志下载为压缩文件。

要下载集群中 mongod 实例的审核日志,请提供 mongod 主机名和日志文件 mongodb-auditlog.gz 作为参数。该文件的名称在此仅作为示例,您可以使用其他名称。

atlas logs download cluster0-shard-00-00.a1b2c.mongodb.net mongodb-audit-log.gz

要下载分片集群部署中 mongos 实例的审核日志,请提供 mongos 主机名和日志文件名 mongos-auditlog.gz 作为参数。该文件的名称在此仅作为示例,您可以使用其他名称。

atlas logs download cluster0-shard-00-00.a1b2c.mongodb.net mongos-audit-log.gz

要下载 mongodmongos 实例的 MongoDB 日志,请分别提供实例的主机名和日志文件名 mongodb.gzmongos.gz 作为参数:

atlas logs download cluster0-shard-00-00.a1b2c.mongodb.net mongodb.gz

您可以使用以下 Atlas CLI 命令返回由项目或组织的事件触发的警报。Atlas 默认提供的警报包括 Replica set has no primaryUser joined the project。这些事件记录了项目或组织内的重要活动和变化,包括数据库、计费或安全方面的重要活动或状态变化。

要自定义哪些事件会触发项目和组织的警报,请参阅配置警报设置。

您可以使用以下 Atlas CLI 命令从您的 Project Activity FeedOrganization Activity Feed 返回项目或组织事件。

要返回您组织的全部事件,请使用 atlas 事件组织列表命令,并指定您的组织 ID。以下命令返回 ID 为 5dd5a6b6f10fab1d71a58495 的组织的 JSON 格式事件列表:

atlas events organizations list --orgId 5dd5a6b6f10fab1d71a58495 --output json

要返回项目的所有事件,请使用 atlas events projects list 命令,并指定项目 ID。以下命令返回项目 ID 为 64ac57bfe9810c0263e9d655 的 JSON 格式事件列表:

atlas events organizations list --orgId 5dd5a6b6f10fab1d71a58495 --output json

要下载整个集群的查询日志,请获取所需的权限,在 Atlas 用户界面中选择您的集群,单击 Online Archive,然后运行:

<cluster-name>_cluster_archive_<start-date>_<end-date>_queries.log.gz

您无法使用 Terraform检索日志。请改用以下Atlas Administration API端点:

  • 使用访问跟踪管理API返回数据库所有身份验证尝试的访问权限日志,由集群名称或主机名标识。

  • 使用监控和日志 API 来检索包含指定主机日志消息的压缩日志文件。

后退

审核

在此页面上