Увеличение файла журнала 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 минут.

Другие вопросы по тегам