Заметили очень странное изменение размера файла access-логов nginx. Ниже будет скриншот из Zabbix, по которому видно, что файл логов nginx растёт ступенчато (на графике показано свободное место в /var, но там только логи nginx, к тому же проверяли изменение размера логов и в консоли). Видно, что замер "ступенек" на графике равномерно и пропорционально возрастает.
Самое странное, что в районе 22:00 файл логов стал весить 8Гб, а потом сразу 4Гб, при этом мы никаких действий не осуществляли и никаких "особых демонов ротации логов" на хосте нет.
Несколько уточнений:
Трафик равномерный, никаких скачков в течение для не было.
Ротация логов делается с помощью logrotate.d, который срабатывает один раз в сутки.
Никаки бекап-скриптов, забирающий логи или как-то с ними взаимодействующий - нет.
Конечно в /var/log есть еще файлы крона и tmp, но мы несколько раз в этот день проверяли размер всех файлов и это именно access.log растёт согласно графику.
Логи в конфиге nginx настроены по дефолту:
access_log /var/log/nginx/access.log main;
Может есть какие-то особенности записи логов в nginx, о которых мы не догадались по доке?
Ответ
В общем ответ оказался для нас слегка неожиданным, и суть заключалась в специфике работы XFS. Оказалось, что на диске по мере роста файла преаллоцируется пространство, что и объясняет скачкообразный рост показателей в команде du, не коррелирующий с динамикой трафика. Ниже ссылки для интересующихся, а также скрин графика из Zabbix, на котором мы решили отдельно мониторить файл логов (выводы du и stat). И как мы видим - du растёт ступенчато, а stat по динамике соответствует трафику:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=055388a3188f56676c21e92962fc366ac8b5cb72
https://serverfault.com/questions/406069/why-are-my-xfs-filesystems-suddenly-consuming-more-space-and-full-of-sparse-file
Комментариев нет:
Отправить комментарий