Debian 上 MongoDB 日志管理实操指南
一 配置文件与日志路径
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
verbosity: 1
sudo systemctl restart mongod
以上路径、参数与生效方式均为 Debian 上常见做法。二 查看与动态调节日志级别
ls /var/log/mongodb/
sudo tail -f /var/log/mongodb/mongod.log
db.getLogComponents()
db.setLogLevel(1, "global")
db.adminCommand({ getLog: "query" })
三 日志轮转方案
use admin
db.runCommand({ logRotate: 1 })
sudo apt-get update
sudo apt-get install logrotate
/var/log/mongodb/mongod.log {
size 500M
rotate 7
compress
missingok
notifempty
create 640 mongodb adm
postrotate
if [ -f /var/run/mongodb.pid ]; then
kill -SIGUSR1 $(cat /var/run/mongodb.pid)
fi
endscript
}
/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 2>/dev/null || cat /var/run/mongodb.pid 2>/dev/null)
endscript
}
sudo logrotate -f /etc/logrotate.d/mongodb
四 日志分析与容量监控
sudo du -sh /var/log/mongodb/mongod.log*
sudo cat /var/log/mongodb/mongod.log | jq '.msg'