Мне установили nginx сервер, он проксирует запрос на основе Host
поле. У меня есть общий журнал для него, потому что вход на хост сделан в сервере, к которому я делаю proxy_pass.
Так, есть ли какое-либо решение проанализировать и видеть объединенную статистику?
Попробованный до сих пор:
Все перечисленное решение требует, чтобы я генерировал отдельный отчет (возможно, от одного журнала) для каждого сайта. Я хочу видеть, что полный отчет моего access.log для всех виртуальных хостов, генерируя отдельный отчет для каждого виртуального хоста является путаницей - существует много хостов, они изменяются быстро.
Было полурешение: обмануть webalizer и заставить его рассматривать Хост как посетителя. Не очень userful.
Трюк, который я использовал в прошлом, это простой препроцессор для объединения Host и URL запроса, который затем будет работать в любом анализаторе логов.
Т.е. модифицировать фондовый формат combined-access_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