Производительность и размер: ротация, сжатие, retention
Введение
Логи растут быстро. Без ротации, сжатия и политики retention диски переполняются, сервисы падают, а расследование инцидентов становится лотереей.
Что настроить в logrotate
rotate N— сколько архивов хранить.size SIZE/daily/weekly/monthly— триггер ротации.compress+delaycompress— когда сжимать.create— права/владелец нового файла.postrotate— перечитать дескрипторы (например,systemctl reload rsyslog).
Пример:
/var/log/syslog
/var/log/messages
/var/log/secure
/var/log/auth.log
{
daily
rotate 14
compress
delaycompress
missingok
notifempty
create 0640 syslog adm
postrotate
systemctl reload rsyslog >/dev/null 2>&1 || true
endscript
}
Retention и квоты
- Определите SLA хранения: hot (7–30 дней), warm (30–90), cold/offload (90+).
- Квоты по директориям и мониторинг использования (
df -h,du --threshold). - Для централизованных хранилищ: политики жизненного цикла (S3 ILM, HDFS/Elastic ILM).
Сжатие и дедупликация
- Сжатие:
gzipпо умолчанию; для больших объёмов —zstd(быстрее и плотнее). - Дедупликация на уровне хранилища (если доступно) снижает стоимость.
- Не сжимайте «горячие» файлы, которые читает коллектор.
Чек-лист
- Настройте logrotate на всех узлах; проверьте
postrotate. - Задайте retention по средам: dev/stage короче, prod — дольше.
- Включите мониторинг заполнения диска и алерты на 80/90%.
- Проверьте, что ротация не ломает доставку в коллектор.