Назад | Перейти на главную страницу

Как отслеживать активность Apache VirtualHost

У меня есть веб-сервер, на котором работает несколько веб-сайтов виртуальных хостов.

Время от времени будет возникать ситуация, когда нагрузка на сервер становится очень высокой или сетевой ответ на веб-сервере очень медленный, и я хотел бы иметь способ просмотра текущей активности на моих виртуальных хостах, чтобы узнать, возможно, за это отвечает конкретный домен (например, DOS и т. д.)

Какие существуют инструменты, которые могут показать мне эту информацию?

(обратите внимание, у меня около 10 IP-адресов на веб-сервере, но все они используются многими доменами / виртуальными хостами)

mod_status отлично для этого, если включить ExtendedStatus он показывает вам список URL-адресов, которые в настоящее время обслуживаются. Перемена ExtendedStatus выключен, когда он вам не нужен, так как это вызывает (в крайних случаях слегка заметное) снижение производительности.

Вы пробовали Apachetop

http://www.webta.org/projects/apachetop/

(Более подробная статья об этом здесь: http://www.howtogeek.com/howto/ubuntu/monitor-your-website-in-real-time-with-apachetop/

Если вы уже используете определенную технологию мониторинга, вам следует упомянуть об этом.

Но в целом вы можете поместить следующие директивы в каждый блок виртуального хоста, чтобы отдельно регистрировать этот виртуальный хост, а затем просто анализировать журналы тем, что вы используете:

ErrorLog /var/log/httpd/foo_vhost-error_log common
CustomLog /var/log/httpd/foo_vhost-access_log common

Затем просто отрегулируйте поворот журнала, если вам нужно. Затем, если у вас были ежедневные журналы, вы могли бы сделать что-нибудь очень простое, чтобы получить совпадения, например, перебирать журналы и вызывать wc -l по каждому из них.