Часто возникает ситуация, когда надо быстро оценить, чем занимается ваш веб-сервер. Иногда для успокоения «вроде не он». Когда на сервере один апач, один сайт, нагрузка небольшая — проблем нет. Зашел, top посмотрел. /server-status посмотрел, tail -f на логи сделал, помедитировал — и обычно всё понятно. Однако бывает ситуация, когда сайтов много, много самих apache (почти все ОС сейчас из коробки умеют подымать несколько веб-серверов apache, но этим редко пользуются почему-то). Бывает ситуация, когда apache уже и ответить не может. Как было бы хорошо, хотя бы примерно прикинуть, что делают (или уже делали) воркеры апача. Представьте — делаете вы ps -aux, а у вас там — кто какие URL запрашивает, какой ширины канал занят, какова скорость работы — ня!
Я достаточно давно использую патч для apache, который после разбора строки запроса пишет в имя программы IP, откуда был запрос, то, что пришло в заголовке Host и саму строку запроса. Но этот двухстрочный патч был написан 12 лет назад для Apache версии 1.3. А потом руки не доходили. Тем более, с того времени появилось множество (я за пять минут нашел как минимум два) разновидностей модулей для тех целей, для более новых версий Apache. Однако, со временем мне стало маловато просто строк запросов. И… я написал свой модуль.
Читать полностью »