Задать вопрос
@vgrayster

Apache — отправлять логи по сети

На сервере используется порядка 40 виртуальных машин, некоторых из которых живут довольно посещаемые сайты (20-50 тыс человек в день).

Сейчас i/o wait начинает становится проблемой, как один из путей уменьшеня нагрузки на винты отключил логи апачей, но через некоторое время стало понятно, что логи очень хорошая вещь и они мне нужны.

У кого-нить есть опыт эксплуатации записи логов в пайп и дальнейшей посылкой логов на другой сервер?

CustomLog "| nc -u localhost 514" combined


Как эта конструкция себя ведет? есть подводные камни?
  • Вопрос задан
  • 2769 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 9
BuriK666
@BuriK666
Компьютерный псих
Поднимите «сильный» хост с syslog и туда по tcpip отправляйте логи
Ответ написан
@zuborg
1. для логирования по сети стоит использовать udp а не tcp, т.к. мелкий затык может сложить логирование вообще.
2. возможно, стоит рассмотреть вариант собирать логи таки локально, но не внутри каждого вдс, а в dom0, передавая их по сети (но не выпуская траф за пределы машины). Это поможет более эффективно кешировать запись логов средствами фс dom0 и снизить io.
3. значительная часть логов генерится мелкими запросами на картинки, их можно выборочно отключить, оставив важные логи на запросы к скриптам
Ответ написан
opium
@opium
Просто люблю качественно работать
Самое простое это выключить логи для статического контента js, css, pic, video.
А так сислог по сети используют наверно все серьезные реализации в продакшене на виртуалках. Удобно смотреть все логи в одном месте, не кончается место от логов и так далее, летает хорошо и есть во всех дистрах линукса.
Ответ написан
Комментировать
mifa
@mifa
Видел такое не раз на крупных production системах. В принципе, так и должно быть (особенно когда логи ведут еще F5 и фаервол, и надо хранить полгода) но есть ньюанс — ддос может легко положить вам сетку.
Ответ написан
Комментировать
@bondbig
ну, во-первых, iowait — это не только диск, но и сеть. Перенеся логи с диска на сеть, сильно iowait не снизишь.
во-вторых, направлять можно в сислог сразу, апач это умеет, правда почему-то только для error_log.
в-третьих, купи SSD для логов.
Ответ написан
chemistmail
@chemistmail
С трудом верится что диск просаживается из-за логов.
У меня порядка 1000 пользовательских запросов в минуту на одной из машин, логи пишутся на диск + с диска утилитой в реалтайме шлются по udp на другой хост, заметной нагрузки это не создает.
Думаю проблема с io где то в другом месте, посмотри что покажут
iostat -xm 1 — нагрузка на диски
iotop — нагрузка на диски по процессам.
Возможно картина проблемы станет более понятна.
Ответ написан
Комментировать
gigigi
@gigigi
Можно немного оффтопа? Для чего на 1 сервере запущено 40 виртуальных машин с сайтами? о_О
Ответ написан
gigigi
@gigigi
Понятно, спасибо. Думал, что обычно подобное делается просто через fakeroot.
Ответ написан
Комментировать
dymdym
@dymdym
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы