Я попытался настроить ротацию журналов на небольшом сервере VPS, используя следующие инструкции: https://docs.mongodb.com/manual/tutorial/rotate-log-files/.
Однако я вижу, что файл журнала mongodb очень большой (> 1 ГБ) и не был перенесентак как я пытался настроить вращение. Вот что у меня в файле mongodb.conf
:
dbpath=/var/lib/mongodb
logpath=/var/log/mongodb/mongodb.log
logappend=true
smallfiles = true
logRotate=reopen
bind_ip = 0.0.0.0
journal=true
replSet = rs0
oplogSize = 100
Когда я запускаю db._adminCommand( {getCmdLineOpts: 1})
, я вижу это в systemLog:
"systemLog" : {
"destination" : "file",
"logAppend" : true,
"logRotate" : "reopen",
"path" : "/var/log/mongodb/mongodb.log"
}
Я ранее использовал mongod
сервис в отличие от mongodb
, который я сейчас использую. Похоже, что вращение работало для mongod
(хотя я не помню, чтобы его настраивали), потому что есть некоторые старые файлы журналов, которые имеют одинаковый размер, то есть вращение происходило именно тогда, когда файл становился слишком большимчем через запланированные промежутки времени, и я хотел бы, чтобы он продолжал работать, как это было раньше. Глядя на файл mongod.conf
, вы видите конфигурацию:
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
Прежде всего, я не уверен, почему синтаксис отличается. Я также выполнил команду db.runCommand( { logRotate : 1 } )
внутри монго, хотя я считаю, что это одноразовая ротация. Из файла mongodb.conf
и параметров командной строки я бы подумал, что это должно работать. Что-нибудь еще, что я должен добавить?