Информация в лог файловете на Apache

1. Формат на лог файловете

Всеки ред в лог файловете на уеб сървъра Apache на нашите машини се състои от следните полета:

HOSTNAMEIPHTTP USERTIMEREQUESTSTATUS CODESIZEREFERRERUSER AGENT


Обяснение на всяко едно поле можете да намерите в долната таблица:

HOSTNAMEИмето на вашия под/домейн, към който е направено запитването
IPIP адресът, от който е направено запитването
Не се използва от сървъра
HTTP USERТук се изписва потребителското име, използвано при HTTP оторизация
TIMEПоказва кога е обработено запитването от сървъра – точната дата, час и времевата зона на сървъра
REQUESTПоказва какъв метод на запитването е използван – най-често GET или POST, последван от ресурса, за който е направено запитването, и използвания протокол – най-често “HTTP/1.1”
STATUS CODEСтатус кодът, който сървърът е изпратил на клиента. Всички кодове, започващи с 2, показват успешна обработка от страна на сървъра. Започващите с 3 – пренасочване, с 4 – грешка, причинена от клиента и 5 – грешка от страна на сървъра. Пълен списък можете да намерите в HTTP спецификацията (RFC2616 секция 10).
SIZEГолемината в байтове на изпратеното към клиента съдържание от страна на сървъра
REFERRERАко в запитването се съдържа REFERER хедър, тук ще се изписва страницата, от която идва клиента
USER AGENTИнформация за браузъра на клиента, направил запитването към сървъра


Имайте предвид, че след обработка от системата всички запитвания към определен под/домейн попадат във файл [името на под/домейна].log и съответното поле за HOSTNAME в този лог файл се отстранява. За нагледност полето HOSTNAME е оставено в следващите примери.

2. Примери

• Ето един пример, илюстриращ как потребител търси в google.com ключовите думи test и example, търсачката му показва в резултатите www.example.com и потребителят натиска с мишката линка към http://www.example.com/index.php:
www.example.com 64.14.68.138 – – [07/Jul/2019:08:38:50 -0400] “GET /index.php HTTP/1.1” 200 3242 “http://www.google.com/search?hl=en&q=test+example&btnG=Search” “Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)”Обяснение на всяко едно поле можете да намерите в долната таблица:

HOSTNAMEwww.example.comЗапитването е направено към www.example.com
IP64.14.68.138IP адресът, от който е направено запитването е 64.14.68.138
HTTP USERПотребителят не е използвал потребителско име и парола, тъй като ресурсът не е защитен с HTTP оторизация
TIME[07/Jul/2019:08:38:50 -0400]Обработването на тази заявка е завършено в 8:38:50 GMT-4 часа на 7.7.2019
REQUEST“GET /index.php HTTP/1.1”Mетодът на запитването е GET, ресурсът е index.php, а използваният протокол HTTP/1.1
STATUS CODE200Статус код 200 показва, че обработката от страна на сървъра е била успешна
SIZE3242Големината на изпратеното съдържание е 3242 байта
REFERRER“http://www.google.com/search?hl=en&q=test+example&btnG=Search”Потребителят е попаднал на http://www.example.com/index.php чрез търсене в google на ключовите думи test и example
USER AGENT“Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)”Клиентът използва за браузър Mozilla Firefox, което се разбира от низа Firefox



• Създали сте поддомейна protected.example.com, след това сте използвали секцията “Пренасочване” в Контролния панел, за да пренасочите protected.example.com към някой друг адрес – за повече информация как можете да направите това вижте статията Пренасочване. След това сте използвали секцията “Защити” в Контролния панел, за да защитите с потребителско име и парола поддомейна protected.example.com – за повече информация как можете да направите това вижте статията Защити.

Потребител изписва в своя браузър Internet Explorer адреса http://protected.example.com. На потребителя се извежда диалогов прозорец, в който той въвежда своето потребителско име alloweduser и съответната парола за достъп до protected.example.com. След успешна оторизация той бива препратен към зададения в секцията “Пренасочване” адрес. В лог файла на Apache се появяват два реда.

Първи ред:

protected.example.com 64.14.68.139 – – [07/Jul/2019:09:40:10 -0400] “GET / HTTP/1.1” 401 409 “-” “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)”

Ето по-интересните части от първи ред:

HTTP USERПотребителското име липсва тук, тъй като сървърът изпраща с това запитване изискването за оторизация
STATUS CODE401Сървърът индикира с този статус код, че достъпът до protected.example.com изисква потребителско име и парола
USER AGENT“Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)”Клиентът използва за браузър Internet Explorer, което се разбира от низа MSIE

Втори ред:

protected.example.com 64.14.68.139 – alloweduser [07/Jul/2019:09:40:32 -0400] “GET / HTTP/1.1” 302 237 “-” “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)”

Ето по-интересните части от втори ред:

HTTP USERalloweduserПотребителското име, използвано за достъп до ресурса, е alloweduser
STATUS CODE302Сървърът индикира с този статус код, че protected.example.com е пренасочен към друг адрес