У меня есть приложение, которое записывает свои файлы журнала в специальную папку. Теперь я хотел бы добавить функцию для автоматического удаления этих журналов через определенный период времени. Но как долго я должен хранить файлы журнала? Каковы «хорошие» значения по умолчанию (7 или 180 дней)? Или вы предпочитаете другие критерии (например, максимальное используемое дисковое пространство)?
Однозначного ответа нет. Факторы, которые следует учитывать:
У меня есть журналы, которые меняются через несколько дней, а другие хранятся годами.
Я стараюсь хранить журналы доступа дольше (в некоторых случаях навсегда, после того как я удалил из них идентифицирующую информацию), чем журналы ошибок, поскольку теоретически они мне не нужны, как только я исправлю проблемы.
Я веду некоторые другие журналы отладки (показывающие активность пользователей, их взаимодействие с системой и т. Д.), Чтобы мы могли видеть, как все меняется с каждой версией.
...
И это напоминает мне анекдот, когда я работал в университете: руководство пригласило внешнего консультанта для проведения сторонней проверки веб-сервера, который мы создавали. Мне сказали передать им журналы за 3 месяца, чтобы они могли проверить, правильно ли мы установили размер системы. Я знал, что это был знак, что они не знали, что, черт возьми, они делают, поскольку университеты цикличны - нагрузка на веб-серверы со временем увеличивалась, но с пиками в начале каждого года, во время финалов и т. Д.
Зависит от требований ... могут быть юридические требования к ведению документации, и вы также должны учитывать, как долго они будут полезны для устранения неполадок.
В дополнение к юридическим требованиям и соображениям полезности, это во многом зависит от того, сколько дискового пространства занимают ваши журналы. Я видел, как очень подробные программы меняют свои журналы каждый день, а очень тихие программы - почти никогда.
В зависимости от вашей системы, возможно, стоит рассмотреть пакет "logrotate" вместо внутренней обработки ротации журналов. Просто поместите файл с разумными значениями по умолчанию в /etc/logrotate.d/ и позвольте вашим пользователям изменять его, если они сочтут это необходимым.
Это зависит от отрасли, в которой будет использоваться ваше программное обеспечение. Существует множество производственных приложений, подпадающих под действие государственных нормативных требований, которые могут потребовать хранения любых выходных данных, включая файлы журналов, в течение определенного периода времени.
Если ваше приложение относится к одной из этих областей или вы не уверены, вам следует проконсультироваться с юридическим отделом вашей компании.
Вы обязательно должны заархивировать свои журналы, прежде чем у вас закончится место. :)
В нашей организации журналы архивируются ежедневно. Так что в специальной папке «logging» будут только журналы за текущий день. Архив хранится на диске в течение 3 недель в специальном архивном месте с большим объемом памяти. Это поможет прод. поддержите разработчиков, чтобы они посмотрели, если что-то появится. Резервная копия сохраняется на ленту (да, ленты!) Через 3 недели. Как правило, ленты хранятся еще 35 дней.
Я сейчас принимаю то же решение. У меня есть приложение, которое записывает некритические исключения в файл журнала, и я остановился на установке настраиваемого порога размера для самого файла журнала. Как только файл журнала достигнет определенного размера, он будет заархивирован. Чистка архива будет производиться раз в неделю. Я также подумываю установить порог «Темп роста», чтобы, если журнал заполняется слишком быстро, служба поддержки будет уведомлена. Еще не уверен, что это перебор.
Эти журналы предназначены только для поддержки, поэтому в моем случае нет никаких юридических или деловых требований, чтобы хранить их дольше недели.
Хранение файлов журналов зависит от критичности регистрируемых данных и фактического размера носителя, на котором хранятся журналы, а также от различных процедур соответствия в географическом месте, где размещен Сервер.
Не существует жесткого и быстрого правила для количества дней, в течение которых файлы журналов должны храниться, хотя журналы, по крайней мере, в течение месяца (при наличии свободного места) не были бы плохой идеей.
Хранение старых журналов в виде файлов tar.gz также является хорошей идеей, если пространство ограничено.