Docs 菜单
Docs 主页
/
MongoDB Ops Manager
/

查看、检索和管理日志

在此页面上

  • MongoDB 实时日志
  • 查看 MongoDB 实时日志
  • 启用或禁用部署的日志收集功能
  • 启用或禁用项目的日志集合功能
  • MongoDB 磁盘日志
  • 查看 MongoDB 磁盘上日志
  • 配置日志轮换
  • 代理日志
  • 查看代理日志
  • 配置助手日志轮换
  • Ops Manager日志

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

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

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

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

  • Project Automation Admin

  • Project Backup Admin

  • Project Monitoring Admin

  • Project Owner

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 日志的保存时间。您的公司可能需要保留日志数据以满足法律要求。您可以更改日志保留策略,以满足这些要求。

后退

与 Slack 集成