it-swarm-ru.tech

Увеличение файла журнала MongoDB

В настоящее время мой файл журнала находится в 32 мег. Я пропустил опцию, которая разделит файл журнала по мере его роста?

25
strickland

Поверните логи самостоятельно

http://www.mongodb.org/display/DOCS/Logging

или используйте «logrotate» с соответствующей конфигурацией.

4
Andreas Jung

Вы можете использовать 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
}
54
pdwalker

Если вы считаете, что 32 мегабайта слишком велики для файла журнала, вы также можете заглянуть внутрь того, что в нем содержится. 

Если журналы кажутся в основном безвредными ( «открыть соединение» , «закрыть соединение» ), то вы можете запустить mongod с переключателем --quiet. Это уменьшит некоторые подробные записи в журнал.

5
Gates VP

Использование logrotate является хорошим вариантом. в то время как он сгенерирует 2 файла журнала, которые прокомментировал fmchan, и вы должны будете следовать предложению Бретта «добавить строку в ваш скрипт после поворота, чтобы удалить все журналы, вращающиеся в стиле mongod».

Также copytruncate - не лучший вариант. Всегда есть окно между копией и усечением. Некоторые журналы Mongod могут быть потеряны. Может проверить страницу справки logrotate или обратиться к это обсуждение copytruncate .

Просто предоставьте еще один вариант. Вы можете написать скрипт, который отправит сигнал поворота на mongod и удалить старые файлы журнала. mongologrotate.sh это простой справочный скрипт, который я написал. Вы можете написать простую задачу или скрипт cron, чтобы вызывать ее периодически, как каждые 30 минут.

0
CloudStax