Які плюси і мінуси логротату проти ротатологів з Apache?


11

Apache надає інструмент під назвою rotatelogs, який має перевагу не перезапускати apache при обертанні журналів, що відбувається з logrotate. У мене немає достатнього досвіду, щоб говорити, якщо цього достатньо критеріїв для використання ротатологів над логротатом.

Мої запитання: чи має хто-небудь реальний досвід життя, використовуючи один або один із цих двох інструментів, і як би ви працювали?

Що б ти порадив і чому?

Відповіді:


7

Я б рекомендував logrotate для більшості людей, оскільки саме це буде обертати всі інші журнали (KISS: Keep It Simple Stupid). Logrotate не перезапускає весь Apache, а просто надсилає йому сигнал, який повідомляє йому знову відкрити всі файли журналу та перезапустити дітей. Цей сигнал може бути SIGHUP, що змушує дітей негайно перезапустити (що перерве завантаження), або SIGUSR1, який робить витончений перезапуск. За допомогою SIGUSR1 вам доведеться затримати обробку журналу, поки ви не подумаєте, що всі діти загинули б природним шляхом. Так чи інакше, ви, мабуть, хочете проаналізувати свої журнали та визначити час для найнижчого періоду руху в день або тиждень.

Трубопровідні колоди здаються, що це більш потужне рішення. Великою перевагою є те, що вона дозволить вам використовувати централізовану систему реєстрації та завантажувати сам веб-сервер. У посібнику написано:

Як і у випадку з умовним веденням журналу, трубопровідні журнали є дуже потужним інструментом, але їх не слід застосовувати там, де доступне більш просте рішення, як офлайн-пост-обробка.

Тому, мабуть, не використовуйте трубопровідні протоколи, якщо вони вам не потрібні . У минулому я використовував трубопровідні канали як хакітський спосіб фільтрації журналів, і не мав жодних проблем.


Скрипт postrotate з файлами логратату Apache полягає у надсиланні SIGHUP, через що Apache припиняє всіх дітей та перезапускає. Будь-які активні з'єднання на час припиняються.
Warner

Десь я прочитав коментар, в якому сказано, що витончений перезапуск працює не дуже добре із серверами, що переносять велике навантаження. Але я дійсно не думаю, що існує багато альтернативи.
Мохан Гулаті

логротат з SIGHUP - це досить стандарт. Я б не переймався цим.
Warner

2

Я використовував обидва раніше. Я виявив, що використання rotatelogs є дуже корисним інструментом для керування журналами доступу, і якщо ви не хочете простою апаше. На сайті з великим обсягом я рекомендував би це, єдиний я виявив проблему: якщо ви хочете керувати журналами, вам потрібно мати окремий скрипт cron'd або очистити або перемістити журнали на резервний сервер, очевидно, це залежить від вимоги. З логротатом у вас є більше варіантів того, як обробляються логістичні файли, єдине питання полягає в тому, коли logrotate працює, як пояснено в попередній відповіді, вам потрібно буде перезапустити апаш.

В основному все зводиться до вибору, якщо вам потрібен apache для запуску без перерв, тоді для управління ними обертаються журнали із зовнішнім скриптом cron, інакше логротета буде достатньо. Просто не забудьте налаштувати логротатний крон, щоб він не обертав журнали, коли у вас великий трафік.

Нарешті, якщо ви хочете мати журнал apache у своєму syslog, ви завжди можете скористатися командою реєстратора, яка знаходиться в Redhat-базованих Linux.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.