Подтвердить что ты не робот

Есть ли программа для просмотра прямых HTTP-запросов на сервере Apache?

Я ищу программу или добавление, на которой будут показаны все входящие входящие запросы на сервер.

4b9b3361

Ответ 1

в вашем терминале введите

tail -f /var/www/log/apache2/other_vhosts.access.log

это будет просмотр запросов в реальном времени.

Ответ 2

Как указано @Maor H., журнал доступа обычно является наиболее удобным местом для получения "входящих" запросов. Эти журналы могут быть сконфигурированы для перехода в любом месте, но обычно их можно найти где-то под /var/log/apache2/ или /var/log/httpd/.

Их местоположение определяется директивами CustomLog в httpd.conf или включенным файлом (например, virtualhost). Таким образом, поиск в ваших файлах httpd.conf и подобных *.conf обычно является хорошим началом, если журналы не могут быть найдены в одном из каталогов /var/log/*, упомянутых выше.

Однако важно различать, что журналы apache/httpd не записываются до тех пор, пока запрос не будет завершен. Это легко заметить, поскольку записи журнала обычно включают такие вещи, как код состояния окончательного запроса (%>sв директиве LogFormat) и сколько времени потребовался запрос (%T в директиве LogFormat).

Если вы заинтересованы в том, чтобы видеть запросы "когда они приходят", короткий ответ заключается в том, что я не знаю "хорошего" способа. Однако обычно достаточно хороший метод использует Apache mod_status, который обычно настраивается (когда он настроен) доступен через http://127.0.0.1/server-status/ с той же машины, что и сам сервер. При настройке mod_status вы обычно можете видеть вывод "табло", как он называется, из командной строки, используя команду, похожую на apachectl fullstatus, или (в зависимости от вашего распространения) service httpd fullstatus.

В таблице server-status/fullstatus/"будет отображаться сводка активных (и неактивных) соединений, усеченная копия самого запроса и то, что в настоящее время происходит в отношении этого запроса (например: Is он обрабатывается? Ответ отправляется? Простаивает ли он? Ожидает ли новое соединение?)

Основными недостатками табло являются то, что он не обеспечивает себя хорошим хвостом или иным образом активно контролируется. Это полезно для определения того, что может вызвать чрезмерную нагрузку на сервер, хотя даже для этого у него есть недостаток только в том, что он доступен, когда apache способен обслуживать дополнительное соединение (поэтому не полезно обнаруживать, что блокирует дополнительные подключения).

Основным преимуществом табло является, как указано выше: он дает вам информацию о запросе до завершения запроса. Имея это в виду, он может лучше соответствовать вашему запросу для списка "входящих" запросов.

Если вы хотите получить более низкий уровень о вещах и не говорите о производственном сервере, то, конечно, WireShark может дает вам живой список HTTP-запросов по мере их поступления. Он контролирует сами TCP-соединения и слишком ресурсоемкий для использования в производстве. Если вы пытаетесь выяснить, что на самом деле происходит на проводе, как это бывает, это лучший выбор.

Ответ 3

apachetop покажет вам все запросы в последнюю минуту или около того.

sudo apt-get install apachetop

Вот справочники.

Вы можете указать частоту обновления и как долго информация остается на экране.

Например, если вы хотите просмотреть все запросы за последние 30 секунд и обновить информацию каждые 2 секунды, вы должны запустить:

apachetop -r 2 -T 30