MongoDB Linux日志在哪查看
小樊
36
2025-11-18 22:10:10
MongoDB Linux 日志查看指南
一 常见日志路径
- 默认路径:大多数发行版将日志放在 /var/log/mongodb/mongod.log。
- 自定义路径:若通过配置文件 /etc/mongod.conf 设置了 systemLog.path,则以配置为准。
- 快速确认方法:
- 查看配置文件:grep -n “systemLog.path” /etc/mongod.conf
- 查看 systemd 服务日志:sudo journalctl -u mongod -f
- 在 mongo shell 中查看日志组件与内容:
- db.getLogComponents()
- db.adminCommand({ getLog: 1 })
二 常用查看与分析命令
- 实时查看:tail -f /var/log/mongodb/mongod.log
- 分页查看:less /var/log/mongodb/mongod.log
- 关键字过滤连接信息:cat /var/log/mongodb/mongod.log | grep “connection accepted”
- 使用 mtools 分析:
- 安装:sudo pip3 install mtools
- 筛选慢查询:mlogfilter replsvr.log --from “2022-07-14T03:36:20.498+0000” --to “+8h” --slow 60000
- 生成查询图:mplotqueries replsvr.log --group namespace --output-file namespace_nscan.png
- 使用 jq 分析 JSON 日志:jq ‘select(.attr.durationMillis >= 6000)’ replsvr.log
三 日志轮转与维护
- 使用 logrotate 管理日志轮转,示例配置 /etc/logrotate.d/mongodb:
- /var/log/mongodb/mongod.log {
daily
rotate 7
compress
missingok
notifempty
sharedscripts
copytruncate
dateext
size 200M
postrotate
/bin/kill -SIGUSR1 $(cat /var/log/mongodb/mongod.lock)
endscript
}
- 建议定期检查日志占用并适当调整轮转策略,避免磁盘被占满。
四 常见问题排查
- 权限不足:用 sudo 查看日志文件或 journalctl。
- 服务未启动:先用 sudo systemctl status mongod 排查,再用 journalctl -xe 查看详细错误。
- 路径不一致:以 /etc/mongod.conf 中的 systemLog.path 为准,或检查是否为容器/自定义安装。