查看、检索和管理日志
在此页面上
Ops Manager 会收集 MongoDB 进程及其代理的日志信息。对于 MongoDB 进程,可以访问实时日志和磁盘上日志。
MongoDB 实时日志
MongoDB Agent在每次监控 ping 时都会发出getLog
命令。 此命令从每个 MongoDB 进程的 RAM 缓存中收集日志条目。
默认情况下,Ops Manager 启用实时日志收集。您可以禁用 Ops Manager 项目中所有 MongoDB 部署的日志收集,也可以禁用单个 MongoDB 部署的日志收集。如果您禁用日志收集,Ops Manager 将继续显示以前收集的日志条目。
查看 MongoDB 实时日志
要访问此功能,您必须拥有以下角色之一授予的权限:
启用或禁用部署的日志收集功能
单击 X关闭 Monitoring Settings框。
如果您关闭日志收集,则现有日志条目将保留在 Logs 标签页,但 Ops Manager 不会收集新条目。
启用或禁用项目的日志集合功能
根据需要将 选项切换为Collect Logs For All Hosts Yes或No 。
MongoDB 磁盘日志
即使 MongoDB 实例未运行,Ops Manager 也会收集磁盘上日志。MongoDB 助手从 MongoDB systemLog.path
配置选项指定的位置收集日志。MongoDB 磁盘日志是实时日志的子集,因此冗余度较低。
您可以为磁盘日志配置日志轮换。默认情况下,Ops Manager 会轮换日志。
此过程会轮换 Ops Manager 的系统日志和审核日志。
查看 MongoDB 磁盘上日志
要访问此功能,您必须拥有以下角色之一授予的权限:
选择 Ops Manager 每个进程要收集的日志类型以及这些日志的最大累计大小。
要选择要下载的日志,请执行以下操作:
操作 | 用途 |
---|---|
单击 MongoDB Logs | 从已部署的 MongoDB 进程中收集日志。 如果systemLog.destination属性设置为 |
单击 FTDC Data | 从 (FTDC) 收集机制中收集诊断数据文件,例如服务器统计数据和状态消息。 |
单击 Automation Agent Logs | 从部署的自动化代理收集日志。 |
单击 Backup Agent Logs | 从所有已部署的备份代理收集日志。 这与其他日志不同。收集的日志不仅限于所选主机,还包括部署中的所有备份代理日志。 |
单击 Monitoring Agent Logs | 从所有已部署的监控代理收集日志。 这与其他日志不同。收集的日志不仅限于所选主机,还包括部署中的所有监控代理日志。 |
以 MB 为单位设置 Size per Log Type(按日志类型的大小) | 输入所有选定日志文件的最大累计未压缩大小(以 MB 为单位)。
|
例子
您选择从副本集中的所有进程收集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 的日志。
收集来自
host1
和host2
的所有自动化代理日志。host4
和host5
在副本集中不托管任何进程。
下载的存档中生成的存档结构为:
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
(可选)编辑编辑日志中的敏感信息。
要匿名日志,请选择 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 聚合管道。这是一项具有更广泛功能集的独立功能。
下载收集的日志存档。
单击 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
。删除进程配置文件中的 reopen
和 rename
标志。如果 MongoDB 助手只监控集群,则该集群可能使用基于平台的服务。
启用日志轮换。
将 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 会显示其他日志轮换设置。
配置日志轮换设置。
Ops Manager 根据以下设置轮换 MongoDB 主机上的日志:
字段 | 必要性 | 操作 | 默认 |
---|---|---|---|
Size Threshold (MB) | 必需 | Ops Manager 会轮换超出这一最大日志文件大小的日志文件。 | 1000 |
Time Threshold (Hours) | 必需 | Ops Manager 会轮换超过这一持续时间的日志。 | 24 |
Max Uncompressed Files | Optional | 日志文件可以保持未压缩状态,直到超过此文件数量为止。Ops Manager 首先压缩最早的日志文件。 如果您将此设置留空,Ops Manager 将使用默认值 | 5 |
Max Percent of Disk | Optional | 在您的 MongoDB 主机的日志卷上,日志文件最多可占用这一百分比的磁盘空间。一旦超过此磁盘阈值,Ops Manager 将删除最早的日志文件。 如果您将此设置留空,Ops Manager 将使用默认值 | 2% |
Total Number of Files | Optional | 日志文件总数。如果未指定数字,则日志文件总数默认为 0 ,并由其他 Rotate Logs(轮换日志)设置确定。 | 0 |
完成后,单击 Save(保存)查看您做出的更改。
代理日志
Ops Manager 收集所有 MongoDB 助手的日志。
查看代理日志
要访问此功能,您必须拥有以下角色之一授予的权限:
配置助手日志轮换
如果使用“自动化”管理集群,请按照此步骤配置“助手”日志文件的轮换。
注意
如果尚未启用“自动化”,请参阅以下文档,了解如何在助手配置文件中手动配置日志记录设置:
单击 Deployment,然后单击 Agents标签页。
编辑日志设置。
单击 pencil(铅笔)图标以编辑监控代理或备份代理日志设置:
名称 | 类型 | 说明 | |
---|---|---|---|
Linux Log File Path | 字符串 | 有条件:在 Linux 主机上记录日志。助手在 Linux 主机上写入日志的路径。 建议值为:
| |
Windows Log File Path | 字符串 | 条件:Windows 主机上的日志。代理在 Windows 主机上写入日志时使用的路径。 建议值为:
| |
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(保存)。
Ops Manager日志
您可以使用 Ops Manager 查看各种日志文件:
您可以更改某些 Ops Manager 日志的保存时间。您的公司可能需要保留日志数据以满足法律要求。您可以更改日志保留策略,以满足这些要求。