在Linux上设置MongoDB的日志管理,可以通过修改MongoDB配置文件mongod.conf
来实现。以下是一些常见的日志管理设置:
- 日志级别:MongoDB使用日志级别来控制日志的详细程度。默认情况下,MongoDB的日志级别是0(v=0)。你可以根据需要调整这个级别。例如,将其设置为1(v=1)可以输出更多的诊断信息。
systemLog: verbosity: 1
- 日志文件路径:默认情况下,MongoDB会将日志文件存储在
/var/log/mongodb/mongod.log
。你可以通过修改path
参数来指定一个新的日志文件路径。
systemLog: destination: file path: /var/log/mongodb/mongod.log
- 日志文件大小限制:为了避免日志文件过大,你可以设置日志文件的最大大小。当达到最大大小时,MongoDB会自动创建一个新的日志文件。你可以使用
logRotate
参数来启用日志轮转。
systemLog: logRotate: reopen
- 日志轮转周期:你可以设置日志轮转的周期,例如每天或每周。这可以通过
logRotate
参数和dateFormat
参数来实现。
systemLog: logRotate: daily dateFormat: "%Y-%m-%d"
- 慢查询日志:如果你想记录执行时间超过指定阈值的查询,可以启用慢查询日志。通过设置
slowms
参数,你可以定义慢查询的阈值(以毫秒为单位)。
operationProfiling: slowOpThresholdMs: 100
- 审计日志:如果你需要记录数据库的所有操作,可以启用审计日志。首先,确保你已经创建了一个用于存储审计日志的用户。然后,在
mongod.conf
中添加以下配置:
security: authorization: enabled auditLog: destination: file format: JSON path: /var/log/mongodb/audit.json filter: '{ "severity": { "$gte": 1 } }'
完成以上设置后,重启MongoDB服务以使更改生效:
sudo systemctl restart mongod
现在,MongoDB将根据你的配置生成和管理日志文件。你可以定期检查这些日志文件,以便监控数据库的性能和诊断潜在问题。