Блог "Дети ОИТа"
/поиск

Производительность и размер: ротация, сжатие, 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%.
  • Проверьте, что ротация не ломает доставку в коллектор.