Подробная статистика нагрузки веб-сервера Apache

25 Oct 2014 | Автор: anchous |

Начала у меня тут тормозить одна VPSка – при ближайшем рассмотрении оказалось, что открыто под сотню одновременных процессов httpd. Учитывая, что на серваке живут в основном саты и два сайта разных сервисов, возник вопрос- толи долбятся к сервисам, толи кто то нюкает сателлиты, т.ч возникла необходимость оттрейсить это дело, т.к всем известный ps давал только нехорошую картину, что процессов очень много.

У веб-сервера Apache этим занимается специальный апачевский модуль status_module . Также имеется  info_module который возвращает конфигурацию Apache, но в данном случае он мне мало интересен. Да и к тому же, как оказалось, у меня почему то по дефолту стоял только status_module, а дополнительно поставить info_module не представлялось возможным, т.к убив какое то время  на поиски, смог найти только исходник для мандривы, который почему то не захотел дружить с моим веб-сервером, т.ч пришлось на это дело забить. Хотя утром, на свежую голову, подрубил мод info_module через утилиту apxs ***.

Проверить наличие модов, можно следующей командой:
# apachectl -M | egrep -i “status|info”
status_module (static)
Syntax OK

Можно также просмотреть все скомпилированные модули:
# httpd -l

Убедившись в наличии подключенного модуля, идем в файл /etc/httpd/conf/extra/httpd-info.conf и приводим его к следующему виду:
###### /etc/httpd/conf/extra/httpd-info.conf
<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 1.2.3.4
</Location>
ExtendedStatus On
###################

где 1.2.3.4 – IP адрес с которого будет разрешен просмотр статистики через браузер и доступный по адресу:
http://server-IP/server-status
в директиве можно поменять название урла на какое нить сложное, чтобы никто не догадался, а также прикрутить например авторизацию.

Рестартим апач
# service httpd restart
и любуемся имеющейся статистикой по указанному адресу, где нам подробно расписывается IP клиента, к какому сайту и документу обращаются, сколько ресурсов кушают. И сразу становится понятно, к каким сайтам обращается демон httpd и кто ответственный за чрезмерную нагрузку веб-сервера.

Теоретически, можно загнаться дальше и поставить текстовый браузер lynx на сервер:
# yum install lynx
и разрешив в файле httpd-info.conf просмотр с localhost смотреть подробную статистику использования ресурсов веб-сервером, через командную строку сервера:
# lynx http://localhost/server-status

 

*** для корректного вывода информации info_module в файле httpd-info.conf должны наличествовать строки:

<Location /server-info>
    SetHandler server-info
    Order deny,allow
    Deny from all
   Allow from 1.2.3.4
</Location>

VN:F [1.9.21_1169]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.21_1169]
Rating: 0 (from 0 votes)

Теги: ,

Ваш отзыв