2010-11-09 4 views
3

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

У меня есть собственный формат лог-файл в Apache следующим образом:

"\"%{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 \»% хоста% LOGNAME% LOGNAME% time1% methodurl% Код% bytesd % refererquot% 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 

Что я делаю неправильно?

ответ

3

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

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

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

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

обновления свой ответ с Баш разрезом? – ajreal