У меня установлен сервер nginx, он запрашивает прокси на основе Host
поле. У меня есть общий журнал для этого, потому что ведение журнала для каждого хоста выполняется на сервере, для которого я делаю proxy_pass.
Итак, есть ли какое-нибудь решение для анализа и просмотра комбинированной статистики?
Пробовал пока:
Все перечисленные решения требуют от меня создания отдельного отчета (возможно, из одного журнала) для каждого сайта. Я хочу видеть полный отчет моего access.log для всех виртуальных хостов, создание отдельного отчета для каждого виртуального хоста - беспорядок - хостов много, они быстро меняются.
Было полурешение: обмануть webalizer и заставить его относиться к Host как к посетителю. Не очень удобно.
Уловка, которую я использовал в прошлом, - это простой препроцессор для объединения Host и URL-адреса запроса, который затем будет работать в любом анализаторе журналов.
Т.е. измените стандартный формат комбинированного доступа_log, который, по-видимому, поддерживает большинство анализаторов, чтобы включить хост. Затем перед запуском вашей статистики запустите препроцессор; так что как обычно будет выглядеть:
199.58.86.209 - - [25/Jul/2014:16:12:41 +0200] "GET /robots.txt HTTP/1.0" 200 291
199.58.86.209 - - [25/Jul/2014:16:12:44 +0200] "GET /robots.txt HTTP/1.0" 200 291
который будет агрегирован как два обращения к файлу /robots.txt, будет преобразован таким образом, что вы увидите два уникальных URL:
199.58.86.209 - - [25/Jul/2014:16:12:41 +0200] "GET www.example.com/robots.txt HTTP/1.0" 200 291
199.58.86.209 - - [25/Jul/2014:16:12:44 +0200] "GET web.example.org/robots.txt HTTP/1.0" 200 291