А у вас настроен logrotate?

August 7, 2011, revised April 12, 2017 logrotate nginx Passenger Ubuntu

Сегодня шесть часов пролежал продакшн из-за того, что логи съели все свободное место на системном диске (который, собственно, был размером всего в 8G).

Отсюда две морали: во-первых, логи надо держать не на системном диске, а на том, что с данными и с проектом. Который большой.

Во-вторых, логи должны периодически очищаться, или, как говорится, “вращаться”, для чего в Ubuntu есть утилита logrotate. Причем она уже настроена, и наверняка очищает логи базы данных, и Aptitude, и почтовые, да и вообще всего, что установлено в системе.

Да вот если в качестве вебсервера используется связка nginx + Passenger, которую так удобно установить с помощью команды passenger-install-nginx-module, ничего о logrotate не знает и благополучно занимает под свой лог последние четыре гигабайта.

К счастью, настройка logrotate не требует особого администраторского мастерства. Нужно только о ней не забыть.

Достаточно создать файл /etc/logrotate.d/nginx и вставить туда следующий код:

/opt/nginx/logs/*.log {
  daily
  missingok
  rotate 9
  compress
  delaycompress
  notifempty
  sharedscripts
  postrotate
  kill -USR1 `cat /opt/nginx/logs/nginx.pid`
  endscript
}

Теперь вопрос: а какими средствами пользуетесь вы, чтобы подобные неисправности не оставались незамеченными несколько часов? Какие есть хорошие сервисы для этого?

Buy Me a Coffee at ko-fi.com