Apache log či protokol přístupu na server je jedním z několika souborů protokolů. Tento konkrétní soubor zaznamenává údaje o všech zpracovaných požadavcích. Pokud tedy určitá osoba navštíví webovou stránku na vašem webu, bude soubor protokolu přístupu obsahovat podrobnosti týkající se této události. Tyto informace jsou cenné v různých situacích.
Například pokud se každému jednotlivci, který se snaží dostat na určitou webovou stránku, nepodaří splnit běžný požadavek, může odkaz směřovat na stránku, která již neexistuje; pokud načtení určité stránky na webu trvá déle, než by mělo, záznamy v protokolu mohou naznačovat dotazy SQL, které by mohly být přepracovány, aby se zlepšil výkon.
Pokud je jedna konkrétní stránka na webu velmi populární, agregace údajů z protokolů přístupu by mohla vrhnout světlo na často požadované zdroje, a umožnit tak firmám zvýšit jejich popularitu poskytnutím většího množství souvisejícího obsahu.
Obsah
Protokol přístupu.
Umístění protokolů o přístupu k apache2 závisí na systému, ve kterém je instalován. Většina instancí běží na distribucích Linuxu. Pro účely tohoto článku se tedy budeme držet podrobného popisu toho, kde lze v počítači se systémem Linux nalézt protokoly přístupu.
HTTP log
V distribucich založených na Debian Linux (třeba Ubuntu Linux) se záznamy protokolu přístupu ve výchozím nastavení zapisují do následujícího umístění:
/var/log/apache2/access.log
V případě, že server spravuje ISPConfig a hostuje virtuální servery
/var/log/ispconfig/http/jmeno_serveru_access.log
Formát protokolu
11.22.33.44 - - [22/Mar/2022:12:20:00 +0100] "GET /blog/text HTTP/1.1" 200 481 "-" "Mozilla/5.0 (Linux; U; Android 4.4.2; en-US; HM NOTE 1W Build/KOT49H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/11.0.5.850 U3/0.8.0 Mobile Safari/534.30"
Pole ve výše uvedeném vzorovém záznamu představují následující údaje:
11.22.33.44 IP adresa klienta, který zadal požadavek;
První pomlčka definující druhé pole v souboru záznamu představuje identitu klienta. Toto pole je často vráceno jako pomlčka a dokumentace doporučuje, aby se na toto konkrétní pole nespoléhalo, s výjimkou případů kontrolované vnitřní sítě.
Druhá pomlčka uživatelské ID osoby (pokud existuje), která si vyžádala daný prostředek
[22/Mar/2022:12:20:00 +0100] datum a čas požadavku
GET /blog/text HTTP/1.1 typ požadavku a požadovaný prostředek (odkaz)
200 stavový kód odpovědi HTTP, v tomto případě úspěch, existuje řada dalších status kódů 301, 403, 500
481 velikost objektu vráceného klientovi v bitech.
Třetí pomlčka odkaz (pokud existuje) ze kterého požadavek na zdroj pochází, například https://seznam.cz/
Mozilla/5.0 (Linux; U; Android 4.4.2; en-US; HM NOTE 1W Build/KOT49H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 user agent s uvedeným operačním systémem, jádrem atp.
UCBrowser/11.0.5.850 U3/0.8.0 Mobile Safari/534.30 druhá část user agenta s informací o prohlížeči, včetně verze a verze jádra