在Debian上管理MongoDB日志,可按以下步骤操作:
配置日志参数
编辑配置文件 /etc/mongod.conf,设置日志路径、级别等参数,例如:
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
verbosity: 0 # 日志级别(0-5,0为最少)
logAppend: true # 重启后追加日志
重启服务生效:sudo systemctl restart mongod。
日志轮转管理
sudo apt install logrotate/etc/logrotate.d/mongodb,添加规则(如每天轮转、保留7天、压缩):/var/log/mongodb/mongod.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate # 不停止服务直接轮转
postrotate
/bin/kill -SIGUSR1 $(cat /var/lib/mongodb/mongod.lock) 2>/dev/null || true
endscript
}
手动触发轮转:sudo logrotate -f /etc/logrotate.d/mongodb。查看与分析日志
sudo tail -f /var/log/mongodb/mongod.log(实时查看)sudo cat /var/log/mongodb/mongod.log | jq .(JSON格式分析,需安装jq)。高级操作
db.adminCommand({logRotate: 1})(需先启用--logRotate reopen)。#!/bin/bash
LOG_DIR="/var/log/mongodb"
ARCHIVE_DIR="/var/log/mongodb/archive"
mkdir -p $ARCHIVE_DIR
mv $LOG_DIR/mongod.log $ARCHIVE_DIR/mongod_$(date +%Y-%m-%d).log
gzip $ARCHIVE_DIR/mongod_*.log
添加定时任务(crontab)定期执行。注意:确保日志目录权限正确(/var/log/mongodb 属于 mongodb 用户),避免权限问题导致日志无法写入。