Увеличение файла журнала MongoDB
В настоящее время мой файл журнала находится в 32 мег. Я пропустил опцию, которая разделит файл журнала по мере его роста?
4 ответа
Поверните логи самостоятельно
http://www.mongodb.org/display/DOCS/Logging
или используйте "logrotate" с соответствующей конфигурацией.
Вы можете использовать logrotate, чтобы сделать эту работу за вас.
Поместите это в /etc/logrotate.d/mongod
(при условии, что вы используете Linux и logrotated
установлены):
/var/log/mongo/*.log {
daily
rotate 30
compress
dateext
missingok
notifempty
sharedscripts
copytruncate
postrotate
/bin/kill -SIGUSR1 `cat /var/lib/mongo/mongod.lock 2> /dev/null` 2> /dev/null || true
endscript
}
Если вы считаете, что 32 мегабайта слишком велики для файла журнала, вы также можете посмотреть, что в нем содержится.
Если журналы кажутся в основном безвредными ("открытое соединение", "закрытое соединение"), то вы можете начать mongod
с --quiet
переключатель. Это уменьшит некоторые подробные записи в журнал.
Использование logrotate является хорошим вариантом. в то время как он сгенерирует 2 файла журнала, которые прокомментировал fmchan, и вы должны будете следовать предложению Бретта "добавить строку в ваш скрипт после поворота, чтобы удалить все журналы, вращающиеся в стиле mongod".
Также copytruncate - не лучший вариант. Всегда есть окно между копией и усечением. Некоторые журналы Mongod могут быть потеряны. Можно проверить страницу руководства logrotate или обратиться к этому обсуждению copytruncate.
Просто предоставьте еще один вариант. Вы можете написать скрипт, который отправит сигнал поворота на mongod и удалить старые файлы журнала. mongologrotate.sh - это простой справочный скрипт, который я написал. Вы можете написать простую задачу или скрипт cron, чтобы вызывать ее периодически, как каждые 30 минут.