ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Проблема при попытке натравить AWStats на логи nginx



В Птн, 07/08/2009 в 15:19 +0400, Alex, the Marrch Ca'at пишет:
Доброго всем дня или иного времени суток!

Я понимаю, что проблема имеет не прямое отношение к теме рассылки, но
велика вероятность, что кто-то уже сталкивался с задачей использования
AWStats с логами nginx и может мне что-то посоветовать.
Формат лога у меня настроен так:

log_format main	'$host || $remote_addr || [$time_local] || "$request"
|| $status || $bytes_sent || "$http_referer" || "$http_user_agent" ||
$gzip_ratio';

Получается примерно следующее:

192.168.0.1 || 192.168.0.2 || [06/Aug/2009:19:01:49 +0000] || "POST
/service.php HTTP/1.1" || 200 || 30604 || "-" || "PHP-SOAP/5.2.9" || -
infosys.com || 92.100.52.133 || [06/Aug/2009:19:24:51 +0000] || "GET /
HTTP/1.1" || 404 || 283 || "-" || "Mozilla/5.0 (Windows; U; Windows NT
5.1; ru; rv:1.9.0.13) Gecko/2009073022 Firefox/3.0.13" || 0.00

Формат лога в awstats настроен так:

LogType=W
LogFormat="%virtualname %host %time1 %methodurl %code %bytesd
 %refererquot %uaquot %extra1"
LogSeparator=" || "

- и, судя по всему, это правильно, поскольку если попытаться немного
поменять настройки формата - awstats немедленно ругается, что все
записи в логе corrupted. Однако и в таком виде awstats логи не
воспринимает, причем крайне странным образом:

Dropped record (method/protocol '' not qualified when LogType=W):
192.168.0.1 || 192.168.0.2 || [06/Aug/2009:19:01:49 +0000] || "POST
/service.php HTTP/1.1" || 200 || 30604 || "-" || "PHP-SOAP/5.2.9" || -
Dropped record (method/protocol '' not qualified when LogType=W):
infosys.com || 92.100.52.133 || [06/Aug/2009:19:24:51 +0000] || "GET /
HTTP/1.1" || 404 || 283 || "-" || "Mozilla/5.0 (Windows; U; Windows NT
5.1; ru; rv:1.9.0.13) Gecko/2009073022 Firefox/3.0.13" || 0.00

Я не понимаю, почему awstats не может выделить method/protocol из этих
записей, и почему у него получается пустая строка. Я уже написал на
форум awstats, но там пока ничего дельного сказать не могут. Нет ли у
кого идей, что может быть не так? А если нет - то, если у кого-то есть
реальные логи, которые успешно awstats-ом процессятся - то, будьте
добры, скиньте мне конфиг лога в nginx и параметры LogFormat /
LogSeparator из соотв. конфига awstats.
Зачем же так все усложнять? Умолчательный формат access лога nginx подходит под "LogFormat=W" awstats'а. В аттаче рабочие конфиге с измененные доменом... LogFile несколько извращенный из-за особенностей ротации логов.
DNSLookup=1
DirCgi="/cgi-bin/awstats"
DirIcons="/icons/awstats"

LogType=W
LogFormat=1

AllowToUpdateStatsFromBrowser=0
AllowFullYearView=3
AllowAccessFromWebToAuthenticatedUsersOnly=1
AllowAccessFromWebToFollowingAuthenticatedUsers=""
AllowAccessFromWebToFollowingIPAddresses=""

BuildHistoryFormat=xml
KeepBackupOfHistoricFiles=1

LoadPlugin="decodeutfkeys"
LoadPlugin="tooltips"

LogFile="cat /srv/byaka.dom/log/nginx/access.log-%YYYY-0%MM-0%DD-0 
/srv/byaka.dom/log/nginx/access.log 2>/dev/null | cat |"
#LogFormat="%host %other %logname %time1 %methodurl %code %bytesd %refererquot 
 %uaquot"

SiteDomain="byaka.dom"
HostAliases="*.byaka.dom"
DirData="/srv/byaka.dom/stats/awstats"

#AllowAccessFromWebToFollowingAuthenticatedUsers=""

 server {
     listen      212.113.49.20;
     listen      213.186.117.227;
     server_name byaka.dom;
 
     access_log  /srv/byaka.dom/log/nginx/access.log;
     error_log   /srv/byaka.dom/log/nginx/error.log;
 
     root /srv/byaka.dom/www/htdocs-static;
     output_buffers      1 512k;
}


 




Copyright © Lexa Software, 1996-2009.