在CentOS上进行MongoDB日志管理,主要包括配置、轮转、清理及监控等操作,具体如下:
配置日志路径与级别
/etc/mongod.conf,在 systemLog 部分设置:systemLog:
destination: file
path: /var/log/mongodb/mongod.log # 日志路径,可自定义
logAppend: true # 追加日志(避免重启覆盖)
verbosity: 2 # 日志级别(0-5,2为默认,记录关键信息)
sudo systemctl restart mongod。日志轮转(自动切割)
logrotate 工具,创建配置文件 /etc/logrotate.d/mongodb:/var/log/mongodb/mongod.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate # 避免重启服务
postrotate
kill -SIGUSR1 $(cat /var/run/mongodb.pid) # 通知MongoDB重新打开日志文件
endscript
}
sudo chmod 644 /etc/logrotate.d/mongodb,sudo logrotate -d /etc/logrotate.d/mongodb。手动清理旧日志
find /var/log/mongodb/ -name "mongod.log.*" -mtime +30 -delete。#!/bin/bash
LOG_DIR="/var/log/mongodb"
ARCHIVE_DIR="/var/log/mongodb/archive"
mkdir -p $ARCHIVE_DIR
mv $LOG_DIR/mongod.log* $ARCHIVE_DIR/
sudo chown -R mongodb:mongodb $ARCHIVE_DIR
监控与分析
tail -f /var/log/mongodb/mongod.log。说明:
verbosity 越高,记录信息越详细,生产环境建议设置为2-3。logrotate 是官方推荐的日志轮转方案,需确保配置中 copytruncate 和 postrotate 正确使用,避免服务中断。