Ищу LogFormat для awstats для чтения моих пользовательских файлов журнала apache

Мой apache-2.4 LogFormat:

LogFormat "%h %l %u %t \"%r\" %>s %b ref=\"%{Referer}i\" ua=\"%{User-Agent}i\" host=\"%{Host}i\" xff=\"%{X-Forwarded-for}i\""

Образец строки файла журнала для справки:

"10.10.10.200 - - [29/Jan/2017:03:45:15 +0100] "GET /health-check/97b0d3c3dd9cfaf7f532aed814f2a049 HTTP/1.0" 200 19 ref="-" ua="-" host="10.10.10.10" xff="-""

Моя проблема, похоже, заключается в получении IP-адресов, которые являются здесь записано host = "10.10.10.10" в переменную% host для awstats. Я думаю, это из-за кавычек вокруг IP. Как видите, я пытался цитировать цитаты, но, похоже, это не сработало. Поэтому я в основном ищу способ сообщить awstats, что IP-адрес находится в двойных кавычках, и он должен записать этот IP-адрес в переменную% host.

Мои попытки для awstats LogFormat на данный момент (+ некоторые небольшие изменения в них). в переменную хоста% для awstats. Я думаю, это из-за кавычек вокруг IP. Как видите, я пытался цитировать цитаты, но, похоже, это не сработало. Поэтому я в основном ищу способ сообщить awstats, что IP-адрес находится в двойных кавычках, и он должен записать этот IP-адрес в переменную% host.

Мои попытки для awstats LogFormat на данный момент (+ некоторые небольшие изменения в них). в переменную хоста% для awstats. Я думаю, это из-за кавычек вокруг IP. Как видите, я пытался цитировать цитаты, но, похоже, это не сработало. Поэтому я в основном ищу способ сообщить awstats, что IP-адрес находится в двойных кавычках, и он должен записать этот IP-адрес в переменную% host.

Мои попытки для awstats LogFormat на данный момент (+ некоторые небольшие изменения в них). При первых попытках я все еще думал, что в первом столбце указан правильный IP-адрес, что не так. :

#LogFormat="%host - - %time1 %methodurl %code %bytesd ref=%refererquot ua=%uaquot host=\"%extra1\" xff=\"%extra2\""
#LogFormat="%host %other %other %time1 %methodurl %code %bytesd %refererquot %uaquot %other %other"
#LogFormat="%h %l %u %t \"%r\" %>s %b ref=\"%{Referer}i\" ua=\"%{User-Agent}i\" host=\"%{Host}i\" xff=\"%{X-Forwarded-for}i\""
#LogFormat="%host - - %time1 %methodurl %code %bytesd %refererquot %uaquot \"%extra1\" \"%extra2\""
#LogFormat="%other - - %time1 %methodurl %code %bytesd ref="-" ua=%uaquot host=\"%host\" xff=%otherquot"
#LogFormat='%other - - %time1 %methodurl %code %bytesd ref="-" ua=%uaquot host="%host" xff=%otherquot'

Я получаю следующие ошибки:

Error: Your personalized LogFormat does not include all fields required by AWStats (Add %host in your LogFormat string).

или

AWStats did not find any valid log lines that match your LogFormat parameter, in the 50th first non commented lines read of your log.

Или я могу быть на здесь совершенно неправильный путь, и в этом случае я открыт для предложений; -)

0
задан 31 January 2017 в 17:49
1 ответ

Вот что я в итоге придумал:

LogFormat="%other - - %time1 %methodurl %code %bytesd ref=\"%referer\" ua=\"%ua\" host=%host xff=%extra1"

Очевидно, использование % uaquote и % refererquot вводило в заблуждение, потому что это не так. работать для меня с двойными кавычками, как я и думал. И единственный способ получить реальный хост в awstats - это использовать host =% host , что означает, что хосты теперь помещаются в двойные кавычки в awstats.

0
ответ дан 5 December 2019 в 08:42

Теги

Похожие вопросы