设置 MongoDB 2.6 日志无需重启

设置 MongoDB 2.6 日志无需重启

我正在尝试在不重新启动的情况下设置新的日志目标。

我不清楚要设置什么/如何设置。

我在跑步

localhost > db.version()
2.6.3

我想将系统日志更改为

/var/log/mongod/mongod_NA.log

我努力了

localhost > db.adminCommand( { setParameter: 1, "systemLog": "/var/log/mongod/mongodb/mongod_NA.log" } )
{
    "ok" : 0,
    "errmsg" : "no option found to set, use help:true to see options "
}

localhost > db.adminCommand( { setParameter: 1, "Log": "/var/log/mongod/mongodb/mongod_NA.log" } )
{
    "ok" : 0,
    "errmsg" : "no option found to set, use help:true to see options "
}

localhost > db.adminCommand( { setParameter: 1, "logPath": "/var/log/mongod/mongodb/mongod_NA.log" } )
{
    "ok" : 0,
    "errmsg" : "no option found to set, use help:true to see options "
}

localhost > db.adminCommand( { setParameter: 1, help: true , systemLog: { 'path': '/var/log/mongod_NA.log' } } )
{
    "help" : "help for: setParameter set administrative option(s)\n{ setParameter:1, <param>:<value> }\nsupported:\n  [ ... ]",
    "lockType" : 0,
    "ok" : 1
}


答案1

没有 MongoDB 管理命令可以更改路径systemLog。这是一个启动选项,必须在进程级别(mongodmongos)配置,通常设置为 MongoDB 配置文件中的选项之一。您需要重新启动 MongoDB 服务或进程才能更改任何启动选项。

但是,如果您的目标是使用新的日志文件,因为当前日志文件太大,那么您应该查看logRotate命令并在您的环境中设置定期日志轮换(例如,logrotate在 Linux 上使用)。

我假设你也知道 MongoDB 2.6 现在已经非常过时了(该版本系列于 2016 年 10 月停止更新)。有一些重要的稳定性和安全性修复在后续版本中,因此您至少应该尝试升级到最终版本 2.6.12,该版本比 2.6.3 新近 2 年。2.6.x 等次要版本不会引入任何与早期 2.6 版本不同的后向更改。

相关内容