MongoDB在Linux上的日志管理主要包括以下操作:
-
配置日志路径与级别
- 修改配置文件
/etc/mongod.conf,设置systemLog.path指定日志文件路径(如/var/log/mongodb/mongod.log),logAppend设为true以追加日志。 - 通过
systemLog.verbosity控制日志级别(0-5,0为默认仅记录关键信息)。
- 修改配置文件
-
日志轮转与清理
- 自动轮转:使用
logrotate工具,创建配置文件/etc/logrotate.d/mongodb,设置每日轮转、保留天数(如rotate 7)、压缩等参数,示例:/var/log/mongodb/mongod.log { daily rotate 7 compress missingok notifempty postrotate kill -USR1 $(cat /var/run/mongodb/mongod.pid) endscript } ```。 - 手动轮转:通过
mongoshell 执行db.adminCommand({ logRotate: 1 }),或发送SIGUSR1信号给 MongoDB 进程。 - 清理旧日志:结合
find命令删除过期日志,如find /var/log/mongodb/ -mtime +30 -type f -delete。
- 自动轮转:使用
-
日志查看与分析
- 实时查看:使用
tail -f /var/log/mongodb/mongod.log跟踪最新日志。 - 文本分析:用
grep/awk提取关键信息(如错误、慢查询),或用jq解析 JSON 格式日志。 - 工具分析:使用
mtools(如mloginfo、mplotqueries)进行日志统计和可视化。
- 实时查看:使用
-
权限与安全
- 确保日志文件权限正确(属主为
mongodb,权限如640),避免敏感信息泄露。
- 确保日志文件权限正确(属主为
参考来源: