Как я могу заставить прочитать этот формат журнала?

StackOverflow https://stackoverflow.com/questions/4137361

Вопрос

У меня есть сайт с несколькими субдоменами, все субдомены регистрируются в одном и том же файле access_log. Поскольку файл может быть настолько огромным, у меня есть скрипт, который выпускает каждый поддомен в свой собственный файл.

У меня есть пользовательский формат файла журнала в Apache, как SO:

"\"%{Host}i\" %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""

Строка из моего файла журнала выглядит так:

"brand.mysite.com" 176.32.1.18 - - [24/Oct/2010:11:24:45 -0400] "GET /Product/lookup HTTP/1.1" 200 5585 "http://www.customerhomepage.com/brand_name.htm" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1; .NET CLR 1.1.4322)"

10 элементов в формате журнала, 10 элементов в журнале. Проверять.

Я пытаюсь проанализировать их с помощью awstats со следующим Logformat в моем файле конфигурации Awstats:

Logformat = "" %host_r " %host %logname %logname %time1 %methodUrl %код %bytesd %rebeerquot %uaquot"

Единственный вывод, который я получаю от Awstats, - это раздел ежемесячной истории. Все остальное либо пусто, либо ноль.

Мой скрипт поколения выглядит так:

rm stats/*.txt
cat access_log | grep brand > brand_access_log
perl tools/awstats_updateall.pl -configdir=wwwroot/cgi-bin -awstatsprog=wwwroot/cgi-bin/awstats.pl now
perl tools/awstats_buildstaticpages.pl -dir=stats -output=pagetype -config=brand -awstatsprog=wwwroot/cgi-bin/awstats.pl

Что я делаю не так?

Это было полезно?

Решение

Я не понимал, что могу просто вырезать и вставить директиву Apache Logformat (с помощью = знак), и это будет работать, я подумал, что был вынужден использовать Awstats.

Awstats будет использовать директиву Logformat из вашего файла httpd.conf и заменить ее на идентификаторы Awstats.

Я вырезал и вставил это в свой файл awstats.whatever.conf непосредственно из моего apache2 httpd.conf (а затем добавил знак = sign после logformat):

LogFormat="\"%{Host}i\" %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top