要查看Atlas平台活动,请使用日志。
Atlas Logging 的功能
访问审核日志
您可以使用Atlas CLI、 Atlas Administration API或Atlas 用户界面进行以下审核活动:
查看和下载Atlas 审核日志,以追踪具有多个用户的部署的系统事件操作。 Atlas管理员可以配置自定义审核过滤,以选择要Atlas 审核的操作、数据库用户、 Atlas角色和 LDAP群组。
查看和下载MongoDB日志以追踪部署的日志事件,包括传入连接、运行的命令以及遇到的问题。通常,日志消息可用于诊断问题、监控部署和调优性能。
查看Project Activity Feed 和Organization Activity Feed 中的项目和组织事件。这些操作源列出了组织或项目级别的所有事件,包括与Atlas访问权限、警报配置和监控、计费等相关的更改。
在访问权限日志中查看用户对集群进行的数据库身份验证尝试(即Atlas用户用户界面中的Database access history )。 Atlas会记录成功和不成功的身份验证尝试,包括每次尝试的时间戳以及哪个用户尝试进行身份验证。
编程访问审核日志
要与内置以外的工具集成,我们建议您使用以下编程工具检索日志,并将JSON格式的输出提供给外部工具:
要将日志持续推送到 AWS S3 存储桶,请使用 Atlas Administration API 终结点来进行基于推送的日志导出。
要检索部署日志和项目事件列表,请使用Atlas Administration API端点进行监控和日志以及项目和组织事件。
要检索部署日志,请使用Atlas CLI中的 atlas 部署 logs 命令。
Atlas Logging 的建议
以下建议应用于所有 部署范例。
要执行全面Atlas 审核,您可以结合使用Atlas 审核日志、 MongoDB日志消息以及项目和组织操作日志。
默认下,Atlas 审核日志消息以MongoDB设计的格式(称为Mongo 模式)返回。遵循mongo
模式的审核日志消息始终包含以下信息:
操作类型 (
atype
)时间戳
客户端连接ID (UUID)
客户端IP解决和端口号
传入连接IP解决和端口号
用户名
用户身份验证数据库
用户角色
用户角色数据库
param
包含事件具体详情的文档结果值或错误代码
有关Atlas 审核动作类型及其关联的 详细信息和param
值的完整列表,请参阅Mongo模式审核消息。result
自动化示例: Atlas Logging
以下示例展示了如何使用 Atlas 自动化工具来检索和下载日志并配置审核。
除以下示例外,请参阅博文使用 HashiCorp Terraform 基于 Atlas 推送的日志导出简化 Amazon S3 的日志管理。
您可以检索和下载日志。您还可以检索警报。
检索日志允许您获取日志,以便实时查看和访问当前日志文件。
通过下载日志,您可以从MongoDB Atlas创建日志存档以供日后分析或存储。
检索日志
检索日志以实时监控和检查集群的活动,并解决当前日志中的问题。
集群中的每个mongod
和mongos
实例都输出自己的MongoDB日志和Atlas 审核日志消息,其内容可能与其他实例不同。您可以在Atlas CLI中使用 atlas 部署 logs 命令查看这些日志消息。
要检索集群中 实例的Atlasmongod
审核日志条目,请提供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
实例的Atlas 审核日志条目,请提供mongos
主机名并指定mongos-audit-log.gz
作为Atlas 审核日志文件的名称:
atlas deployments logs --output json --type atlas --hostname cluster0-shard-00-00.a1b2c.mongodb.net --name mongos-audit-log.gz
要检索MongoDB日志消息,请提供 mongod
或mongos
实例的主机名,并将日志文件的名称分别指定为mongodb.gz
或mongos.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
下载日志
下载日志以关注历史日志并对其进行审核或性能分析,或将其存档。
集群中的每个mongod
和mongos
实例都有自己的MongoDB日志和Atlas 审核日志,其内容可能与其他实例不同。尽管从应用程序的角度来看,mongod
mongos
或 实例的行为与任何其他MongoDB实例相同,但它们的日志包含特定于它们在MongoDB中的角色的信息。
您可以使用 atlas logs 下载 Atlas CLI命令将每个日志下载为压缩文件。
要下载集群中 实例的Atlasmongod
审核日志,请提供 主机名和Atlasmongod
审核日志文件名mongodb-auditlog.gz
作为参数。此处仅使用此文件的名称作为示例,您可以使用其他名称。
atlas logs download cluster0-shard-00-00.a1b2c.mongodb.net mongodb-audit-log.gz
要下载分片集群部署中 实例的Atlasmongos
mongos
mongos-auditlog.gz
审核日志,请提供 主机名和Atlas 审核日志文件名 作为参数。此处仅使用此文件的名称作为示例,您可以使用其他名称。
atlas logs download cluster0-shard-00-00.a1b2c.mongodb.net mongos-audit-log.gz
要下载 或 mongod
mongos
实例的MongoDB日志,请分别提供该实例的主机名和日志文件名mongodb.gz
或mongos.gz
作为参数:
atlas logs download cluster0-shard-00-00.a1b2c.mongodb.net mongodb.gz
检索所有项目警报
您可以使用以下Atlas CLI命令返回项目或组织的事件触发的警报。 Atlas默认提供Replica set has no primary
和User joined the project
等警报。这些事件记录了项目或组织内的重大活动和变更,包括重要的数据库、计费或安全活动或状态变更。
检索项目或组织的所有日志事件
您可以使用以下Atlas CLI命令从 Project Activity Feed 或 Organization Activity Feed 返回项目或组织事件。
要返回组织的所有事件,请使用 atlas events organizations list 命令并指定您的组织ID 。以下命令返回ID为 的组织的JSON格式的事件列表:5dd5a6b6f10fab1d71a58495
atlas events organizations list --orgId 5dd5a6b6f10fab1d71a58495 --output json
要返回项目的所有事件,请使用 atlas events projects list 命令并指定项目ID 。以下命令返回ID为 的项目的JSON格式的事件列表:64ac57bfe9810c0263e9d655
atlas events organizations list --orgId 5dd5a6b6f10fab1d71a58495 --output json
下载整个集群的所有查询日志
要下载整个集群的查询日志,请获取所需权限,在Atlas 用户界面中选择集群,单击 Online Archive,然后运行:
<cluster-name>_cluster_archive_<start-date>_<end-date>_queries.log.gz