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;
}
|