MongoDB在Ubuntu上的日志管理技巧
-
配置日志路径与级别
- 编辑配置文件
/etc/mongod.conf,设置systemLog.path指定日志文件路径(如/var/log/mongodb/mongod.log),logLevel控制日志详细程度(0-5,0为最少信息)。 - 确保日志目录存在且权限正确:
sudo mkdir -p /var/log/mongodb && sudo chown mongodb:mongodb /var/log/mongodb。
- 编辑配置文件
-
日志轮转管理
- 使用
logrotate工具创建配置文件/etc/logrotate.d/mongodb,设置每日轮转、保留7天日志、压缩旧日志等规则,例如:/var/log/mongodb/mongod.log { daily rotate 7 compress missingok create 0640 mongodb mongodb postrotate kill -SIGUSR1 $(cat /var/run/mongodb.pid) endscript } ```。
- 使用
-
实时查看与筛选日志
- 实时查看日志:
sudo tail -f /var/log/mongodb/mongod.log。 - 搜索特定关键词:
sudo grep -i "ERROR" /var/log/mongodb/mongod.log。 - 按时间段筛选:结合
awk或sed提取特定日期日志。
- 实时查看日志:
-
日志分析与可视化
- 简单分析:用
wc -l统计日志行数,du -sh查看日志文件大小。 - 专业工具:使用 ELK Stack(Elasticsearch+Logstash+Kibana)进行日志采集、清洗和可视化。
- 简单分析:用
-
权限与安全
- 限制日志文件访问权限:
sudo chmod 0640 /var/log/mongodb/mongod.log,确保仅授权用户可查看。 - 定期备份日志:通过
logrotate的--logRetention参数或脚本自动归档旧日志。
- 限制日志文件访问权限:
-
集成监控工具
- 引入第三方平台(如 MongoDB Management Service、Datadog)实现日志集中监控和告警。
参考来源: