Преимущества ротации бревен

Преимущества ротации бревен

Я использую logrotation уже много лет и никогда не думал, что это может быть проблемой, пока не наткнулся на вопрос на stackoverflow (https://stackoverflow.com/questions/1508734/disable-java-log-rotation/), где кто-то хочет отключить ротацию журналов.

Мне, имеющему опыт ручной очистки серверов сборки и даже производственных серверов, поскольку журналы не ротируются, диски заканчиваются, а машины внезапно останавливаются, все это кажется безумием, но мне пришло в голову, что, возможно, все не так очевидно.

Итак, в чем преимущества ротации логов? И в чем недостатки (например, может быть, сложнее отлаживать/анализировать)? Какие инструменты вы считаете полезными для работы с ротированными лог-файлами? Splunk, я полагаю, но что еще?

решение1

Я думаю, что преимущества ротации журналов очевидны:

  1. Вместо одного огромного файла журнала вы получаете легко управляемые файлы журналов меньшего размера.
  2. У вас не возникнет внезапного недостатка в месте на диске, если вы правильно его настроите в соответствии с ограничениями емкости. ( sizeопция)
  3. Старые файлы журналов можно сжать, чтобы они стали еще меньше по размеру, и таким образом сэкономить больше места на диске. ( compressопция).
  4. Вы можете вращать файлы определенным образом / время. Например, каждый файл журнала содержит только информацию, относящуюся к определенному дню. Это упростит поиск, учитывая, что вы знаете дату. Если вы не знаете дату, вы можете просто искать все файлы или их подмножество. ( daily, monthly, и т. д.).
  5. Вы автоматически избавляетесь от очень старых файлов. Например, вы можете сохранить максимум 30 файлов. ( rotate 30).
  6. Вы можете добавить расширение по своему усмотрению, например, дату ротации. ( dateext).
  7. Вы можете выполнить определенные скрипты до/после вращения. ( prerotate, postrotate).

РЕДАКТИРОВАТЬ:Я добавил больше пунктов в список и включил опции, когда это применимо. Для получения более подробной информации man logrotateможно обратиться.

решение2

Преимущества:

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

Недостатки:

  • если вы хотите обработать всю историю, вам придется указать несколько имен файлов
  • некоторые программы не поддерживают поворот, и если вы поворачиваете его с помощью такой утилиты, как logrotate, есть некоторые пограничные случаи, на которые следует обратить внимание (например, вам придется использовать опцию truncate, что, как я думаю, означает, что вы рискуете потерять небольшое количество данных).

решение3

Если вы подумаете, для чего вы используете логи, преимущества станут еще более очевидными. Оставим в стороне очевидные моменты, упомянутые другими и вами. Для меня большим преимуществом является то, что я могу контролировать, как логи подаются в инструменты офлайн-анализа.

У меня есть набор самодельных скриптов, которые я использую для анализа журналов, но, насколько мне известно, splunk и различные инструменты анализа веб-журналов — единственные «стандартные» инструменты, доступные в готовом виде (не считая анализаторов файлов журналов в реальном времени, таких как fail2ban).

Связанный контент