Docs 菜单

查看、检索和管理日志

Ops Manager 会收集 MongoDB 进程及其代理的日志信息。对于 MongoDB 进程,可以访问实时日志和磁盘上日志。

  • MongoDB 日志提供 mongodmongos进程的诊断日志记录信息。

  • 代理日志可让您深入了解 Cloud Manager 代理的行为。

MongoDB Agent在每次监控 ping 时都会发出getLog命令。 此命令从每个 MongoDB 进程的 RAM 缓存中收集日志条目。

默认情况下,Ops Manager 启用实时日志收集。您可以禁用 Ops Manager 项目中所有 MongoDB 部署的日志收集,也可以禁用单个 MongoDB 部署的日志收集。如果您禁用日志收集,Ops Manager 将继续显示以前收集的日志条目。

要访问此功能,您必须拥有以下角色之一授予的权限:

1
  1. 如果尚未显示,请从导航栏的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示该页,请从导航栏的 Projects(项目)菜单中选择所需的项目。

  3. 如果尚未出现,请单击侧边栏中的 Deployment(部署)。

  1. 单击 Clusters(集群)视图。

2

四个按钮按以下顺序从左到右列出:Shards(分片)、Configs(配置)、MongosBIs (BI)。

处理
显示

Shards

用于托管您的数据的 mongod 进程。

Configs

作为配置服务器运行的 mongod 进程,用于存储分片集群的元数据。

Mongos

用于在分片集群中路由数据的 mongos 进程。

BIs

访问分片集群中数据的 BI 进程。

3
4

该标签页显示了日志信息。

5
1
  1. 如果尚未显示,请从导航栏的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示该页,请从导航栏的 Projects(项目)菜单中选择所需的项目。

  3. 如果尚未出现,请单击侧边栏中的 Deployment(部署)。

  1. 单击 Clusters(集群)视图。

2
3
  1. 单击 Logs 标签页。

  2. 根据需要将 Collect Logs For Host 切换为 OffOn

4

如果您关闭日志收集,则现有日志条目将保留在 Logs 标签页,但 Ops Manager 不会收集新条目。

1
2

即使 MongoDB 实例未运行,Ops Manager 也会收集磁盘上日志。MongoDB 助手从 MongoDB systemLog.path 配置选项指定的位置收集日志。MongoDB 磁盘日志是实时日志的子集,因此冗余度较低。

您可以为磁盘日志配置日志轮换。默认情况下,Ops Manager 会轮换日志。

此过程会轮换 Ops Manager 的系统日志和审核日志。

要访问此功能,您必须拥有以下角色之一授予的权限:

1

单击项目中任何进程、副本集分片集群所在行的省略号...图标,然后单击Request Logs

2

要选择要下载的日志,请执行以下操作:

操作
用途

单击 MongoDB Logs

从已部署的 MongoDB 进程中收集日志。

如果systemLog.destination属性设置为syslog ,则此选项不适用于已部署的 MongoDB 进程。

单击 FTDC Data

从 (FTDC) 收集机制中收集诊断数据文件,例如服务器统计数据和状态消息。

单击 Automation Agent Logs

从部署的自动化代理收集日志。

单击 Backup Agent Logs

从所有已部署的备份代理收集日志。

这与其他日志不同。收集的日志不仅限于所选主机,还包括部署中的所有备份代理日志。

单击 Monitoring Agent Logs

从所有已部署的监控代理收集日志。

这与其他日志不同。收集的日志不仅限于所选主机,还包括部署中的所有监控代理日志。

以 MB 为单位设置 Size per Log Type(按日志类型的大小)

输入所有选定日志文件的最大累计未压缩大小(以 MB 为单位)。

  • 此限制是累计的。

    • 对于 MongoDB 或 FTDC 日志,这限制了每个进程收集的日志的大小。

    • 对于代理,这将限制每个代理相关日志的大小。

  • 这些日志文件随后被存档和压缩。

    示例,如果您将此值设立为 50 MB, MongoDB Ops Manager将从每个mongodmongos进程以及您选择下载的所有日志的每个代理收集总共 50 MB 的未压缩日志文件。

  • 如果当前日志文件小于指定大小,则 Ops Manager 也会收集最近轮换的文件。

  • 如果日志文件的总大小在某个日志文件的中途达到指定大小,则最后一个日志文件会被截断为不超出大小之内的最新行。

  • 最多可收集 20 GB 的日志文件。此最大值包括所有已收集的未过期日志文件。如果您请求更多日志,而收集这些日志会导致收集的日志超过 20 GB,则 Ops Manager 会生成错误。收集的日志总量与该限值相比,显示为 Estimated Total Size(估计总大小)。

例子

您选择从副本集中的所有进程收集20 MB 的日志。 此副本集在两个主机上有三个mongod进程:

  • host1:27017

  • host2:27017

  • host2:27018

您的部署将运行以下代理:

自动化代理

host1, host2 , host4 , host5

备份代理

host4

监控代理

host4, host5

当您为此副本集选择所有日志类型,并将每个进程限制为 20 MB 时,Ops Manager 显示 Estimated Total Size 在 20 GB 中占 220 MB(11 个进程 * 20 MB)。

一旦开始收集日志,Ops Manager 会从最新日志条目开始扫描日志目录以查找 mongod 进程及其关联的 FTDC,直到收集了 20 MB 日志文件或收集到了最后一条日志末尾。部署中的所有监控和备份代理也会被扫描。

  • 备份代理有 60 MB 的日志。

  • 每个 MongoDB 进程(共 3 个)有 7 MB 日志以及 15 MB FTDC 数据。

  • 每个监控代理 (2) 都有 30 MB 的日志。

  • 每个自动化代理 (2) 都有 12 MB 的日志。

收集到的日志总大小为 150 MB

(20 + (3 * (7 + 15)) + (2 * 20) + (2 * 12)) = 150

  • 从备份代理收集最多 20 MB 的日志。

  • 收集每个 MongoDB 进程的所有日志:7 MB MongoDB + 15 MB FTDC 数据。

  • 从每个监控代理收集最多 20 MB 的日志。

  • 收集来自host1host2的所有自动化代理日志。 host4host5副本集中不托管任何进程。

下载的存档中生成的存档结构为:

host1/27017/mongodb
host1/27017/ftdc
host1/automation_agent
host2/27017/mongodb
host2/27017/ftdc
host2/27018/mongodb
host2/27018/ftdc
host2/automation_agent
host4/backup_agent
host4/monitoring_agent
host5/monitoring_agent
3

要匿名日志,请选择 Replace IP addresses, hostnames, namespaces, strings with randomized values

此选项将 IP 地址替换为私有范围(192.168.x.x)。对于主机名,此选项仅替换 FQDN。其他主机名保持不变。替换遵循可预测的模式。例如,如果 blue.strawberry 替换了 FQDN test.internal 的一个实例,那么 blue.strawberry 也会替换 test.internal 的所有其他实例。

注意

这不会使用 $redact 聚合管道。这是一项具有更广泛功能集的独立功能。

4
5

条目状态显示 Collecting Logs...,并在日志收集过程中自动更新状态。

  • 如果 Ops Manager 检索日志文件失败,请单击 Retry(重试)以再次检索失败的日志文件。

  • 如果出现失败,您仍可下载存档。将有部分请求的日志文件丢失。

6

单击 Download icon(“下载”图标)。

Log Request History(日志请求历史)页面上列出的存档大小是未压缩大小。解压缩后,存档文件会使用目标主机上相应数量的磁盘空间。

此下载只能重新启动,而不能恢复。如果下载失败,则必须重新下载日志。

该存档名为 mongodb-logfiles_<instance_or_process>_<ISO8601_Format_Date>.tar.gz

提取的文件使用以下目录结构:

<host>
automation_agent
automation-agent-verbose.log
automation-agent-verbose.log.<ISO8601_Format_Date>
backup_agent
backup-agent-verbose.log
backup-agent-verbose.log.<ISO8601_Format_Date>
monitoring_agent
monitoring-agent-verbose.log
monitoring-agent-verbose.log.<ISO8601_Format_Date>
<replica_set> // Sharded Cluster Only
<port>
ftdc
metrics.<ISO8601_Format_Date>
metrics.interim
mongodb
mongodb.log
mongodb.log.<ISO8601_Format_Date>
<port> // Replica Set or Standalone
ftdc
metrics.<ISO8601_Format_Date>
metrics.interim
mongodb
mongodb.log
mongodb.log.<ISO8601_Format_Date>

注意

tar Microsoft Windows 主机上提取 存档时,请使用支持 PAX 扩展标头 的存档提取实用程序 。某些 Windows 存档实用程序在使用tar的 PAX 扩展标头时遇到问题。

所收集的日志将在 7 天后过期并删除。要延长特定日志文件的生命周期,请单击 Log Request History 页面中该存档的 extend 链接。

Ops Manager 可以轮换和压缩 MongoDB Agent 管理的集群的日志。如果 MongoDB Agent 只监控集群,它将忽略此集群的日志。

重要

如果您运行的是 MongoDB Enterprise 版本 5.0 或更高版本,以及 MongoDB Agent 11.0.13.7055 或更高版本,则可以:

  • 请分别为服务器日志轮换和审核日志轮换设置单独的规则。

  • 使用 Ops Manager 压缩和删除审核日志。出于安全考虑,我们建议您在 Ops Manager 之外管理审核日志的压缩和删除。

如果您运行的是早期版本的 MongoDB Enterprise 或 MongoDB Agent、Ops Manager:

  • 使用 System Log Rotation(系统日志轮换)设置来轮换服务器日志和审核日志。

  • 不压缩或删除审核日志。如果配置了压缩和删除,Ops Manager 将仅对服务器日志应用这些设置。

MongoDB Community 用户仅能轮换、压缩和删除服务器日志。

注意

使用此功能时,请禁用任何基于平台的日志轮换服务,如 logrotate。删除进程配置文件中的 reopenrename 标志。如果 MongoDB 助手只监控集群,则该集群可能使用基于平台的服务。

1
  1. 单击 Deployment(连接)。

  2. More(更多)下拉列表中,单击 MongoDB Log Settings(MongoDB 日志设置)。

2

System Log Rotation 切换为 ON 以轮换服务器日志。

在运行 MongoDB Enterprise 5.0 或更高版本和 MongoDB 助手 11.11.0.7055 或更高版本的情况下,MongoDB Enterprise 用户还可以将 Audit Log Rotation(审核日志轮换)切换为 ON(开启),以轮换审核日志,并单独配置审核日志轮换。

如果运行的是早期版本的 MongoDB Enterprise 或 MongoDB 助手,将 System Log Rotation 设置为 ON 也能轮换审核日志。

如果您不希望 Ops Manager 轮换日志,请将日志轮换设置为 OFF(关闭)。日志轮换默认为 OFF(关闭)。

启用日志轮换后,Ops Manager 会显示其他日志轮换设置。

3

Ops Manager 根据以下设置轮换 MongoDB 主机上的日志:

字段
必要性
操作
默认

Size Threshold (MB)

必需

Ops Manager 会轮换超出这一最大日志文件大小的日志文件。

1000

Time Threshold (Hours)

必需

Ops Manager 会轮换超过这一持续时间的日志。

24

Max Uncompressed Files

Optional

日志文件可以保持未压缩状态,直到超过此文件数量为止。Ops Manager 首先压缩最早的日志文件。

如果您将此设置留空,Ops Manager 将使用默认值 5

5

Max Percent of Disk

Optional

在您的 MongoDB 主机的日志卷上,日志文件最多可占用这一百分比的磁盘空间。一旦超过此磁盘阈值,Ops Manager 将删除最早的日志文件。

如果您将此设置留空,Ops Manager 将使用默认值 2%

2%

Total Number of Files

Optional

日志文件总数。如果未指定数字,则日志文件总数默认为 0,并由其他 Rotate Logs(轮换日志)设置确定。

0

完成后,单击 Save(保存)查看您做出的更改。

4

否则,请单击 Cancel,您可以进行其他更改。

Ops Manager 收集所有 MongoDB 助手的日志。

要访问此功能,您必须拥有以下角色之一授予的权限:

1

该页面显示了在 View(查看)下拉列表中选择的代理类型的日志。该页面根据通过齿轮图标选择的任何筛选器来筛选日志。

2

如需显示不同类型助手的日志,请使用 View 下拉列表。

要显示特定主机或 MongoDB 进程的日志,请单击齿轮图标并进行选择。

如需清除筛选器,请单击齿轮图标并单击 Remove Filters

如需下载所选日志,请单击齿轮图标并单击 Download as CSV File

注意

要查看特定代理的日志,您也可以单击 Agents(代理)标签页的 All Agents(所有代理)列表,然后单击此代理的 view logs(查看日志)。

如果使用“自动化”管理集群,请按照此步骤配置“助手”日志文件的轮换。

注意

如果尚未启用“自动化”,请参阅以下文档,了解如何在助手配置文件中手动配置日志记录设置:

1
2
3
4

单击 pencil(铅笔)图标以编辑监控代理或备份代理日志设置:

名称
类型
说明

Linux Log File Path

字符串

有条件:在 Linux 主机上记录日志。助手在 Linux 主机上写入日志的路径。

建议值为:

/var/log/mongodb-mms-automation/monitoring-agent.log

Windows Log File Path

字符串

条件:Windows 主机上的日志。代理在 Windows 主机上写入日志时使用的路径。

建议值为:

%SystemDrive%\MMSAutomation\log\mongodb-mms-automation\monitoring-agent.log

Rotate Logs

切换

切换按钮,用于选择是否应该轮换日志。

Size Threshold (MB)

整型

日志自动轮换的大小。默认值为 1000

Time Threshold (Hours)

整型

日志自动轮换的持续时间。默认值为 24

Max Uncompressed Files

整型

可选。应保持未压缩状态的日志文件(包括当前日志文件)的最大数量。建议值为 5

Max Percent of Disk

整型

可选。日志应消耗的 MongoDB 主机上磁盘空间的最大百分比。建议值为 2%

Total Number of Files

整型

可选。日志文件总数。如果未指定数字,则日志文件总数默认为 0,并由其他 Rotate Logs 设置确定。

完成后,单击 Save(保存)。

5
6

否则,请单击 Cancel,您可以进行其他更改。

您可以使用 Ops Manager 查看各种日志文件:

您可以更改某些 Ops Manager 日志的保存时间。您的公司可能需要保留日志数据以满足法律要求。您可以更改日志保留策略,以满足这些要求。