Я хочу использовать AwStats для анализа журналов доступа nginx.
Указанный формат журнала nginx:
'$remote_addr - $remote_user [$time_local] $status '
'"$request" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
и журналы вроде создаются правильно.
Формат журнала AwStats:
LogFormat = "%host - %logname %time1 %code %methodurl %bytesd %refererquot %uaquot %otherquot"
Когда я пытаюсь запустить его из командной строки, я получаю следующий вывод ошибки:
Running '"/usr/lib/cgi-bin/awstats.pl" -update -config=default -configdir="/etc/awstats"' to update config default
Create/Update database for config "/etc/awstats/awstats.conf" by AWStats version 7.2 (build 1.992)
From data in log file "/.../****-access.log"...
Phase 1 : First bypass old records, searching new record...
Searching new records from beginning of log file...
AWStats did not find any valid log lines that match your LogFormat parameter, in the 50th first non commented lines read of your log.
Your log file /.../****-access.log must have a bad format or LogFormat parameter setup does not match this format.
Your AWStats LogFormat parameter is:
%host - %logname %time1 %code %methodurl %bytesd %refererquot %uaquot %otherquot
This means each line in your web server log file need to have the following personalized log format:
%host - %logname %time1 %code %methodurl %bytesd %refererquot %uaquot %otherquot
And this is an example of records AWStats found in your log file (the record number 50 in your log):
1.2.3.4 - - [20/Sep/2015:14:18:24 +0200] 200 "POST /somescript.php HTTP/1.1" 1277 "http://some.refer.er" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0" "-"
Setup ('/etc/awstats/awstats.conf' file, web server or permissions) may be wrong.
Check config file, permissions and AWStats documentation (in 'docs' directory).
Я уже пробовал несколько разных переменных (в учебнике, которому я изначально следовал, %code
и %methodurl
переключился и использовал %host_r
вместо того %logname
) но пока не заработал.
Я даже пробовал заменить %logname
с участием -
потому что я решил, что отсутствующее имя удаленного пользователя может сбить с толку AwStats, но безрезультатно.
Мне кажется, что формат журнала и фактическая строка из сообщения об ошибке должны совпадать. Что я пропустил?
вот конфигурация журнала, которую мне пришлось использовать в awstats, чтобы заставить его работать.
LogFormat = "%host %other %other %time1 %methodurl %code %bytesd %refererquot %uaquot"
Это основано на стандартном формате журнала nginx.