Serverové logy
Logy sú záznamy aktivít, ktoré sa dejú na serveri. Všetky logy sú uložené na serveri, kde si ich môžete v prípade potreby pozrieť a analyzovať. Do logov sa treba pozrieť väčšinou vtedy, ak sa na Vašom webe objaví nejaká chyba a Vy neviete určiť v čom je problém.
Existuje viacero druhov logov, no v súvislosti s webstránkami nás zaujímajú tri:
- Access logy
- Error logy
- Php logy
Všetky logy majú spoločné, že každý jeden sa zapisuje na nový riadok. Ich rozdielnosti opisujeme nižšie.
Access logy
V access logoch sú zapisované všetky HTTP požiadavky, ktoré vykoná návštevník na webe. V logoch môžete nájsť jeden takýto zápis súboru access logu:
- vhost_nazovdomeny.sk_access.log – ide o záznam zo stránky
Ako čítať Access logy
Access logy sú zložené z viacerých údajov: dátum, čas, ip adresa klienta, HTTP metóda, požadovaná url adresa, kód odpovede a podpis prehliadača.
- Dátum a čas: Dátum a čas odoslania HTTP požiadavky na server.
- IP adresa klienta: IP adresa, z ktorej bola požiadavka odoslaná serveru na spracovanie.
- HTTP metóda: Metóda odoslania požiadavky serveru na spracovanie.
- GET – Požiadavka odosielaná na server sa zvyčajne zapisuje v URL adrese a slúži na vyžiadanie URL adresy zo servera na načítanie obsahu, ktorý sa skrýva za konkrétnou vyžiadanou URL adresou. Typickým príkladom je kliknutie na odkaz, po ktorom sa vám zobrazí nejaká webová stránka.
- POST – Požiadavka odosielaná na server sa zapisuje do tela (body) a slúži na aktualizáciu údajov. Zvyčajne sa nezapisuje do URL. Môže to byť vyplnenie formulára, prihlásenie sa do administračného rozhrania webu, ...
- Požadovaná URL adresa – URL adresa, ktorá bola vyžiadaná návštevníkom webu, aby sa zobrazil jej obsah (GET request), alebo aby sa vykonal nejaký proces (POST request).
- Kód odpovede (stavový kód) – Pri access logoch to bude väčšinou číselná hláška 2XX, čo znamená, že ide o klasickú odpoveď pre úspešnú HTTP požiadavku, alebo 3XX kedy sa jedná o nejaké presmerovanie. Menej často môžete v access logoch nájsť aj 4XX, čo znamená, že najčastejšie ide o nejakú chybu na strane užívateľa, alebo 5XX kedy sa jedná o chybu na strane servera.
- Podpis prehliadača – V logu je zapísané, cez aký prehliadač bola vykonaná HTTP požiadavka.
Info: V prípade, že máte web vytvorený vo WordPresse, môžete v logoch naraziť na http požiadavku odoslanú cronom (wp-cron), ktorý spúšťa automaticky rôzne naplánované úlohy, ako napríklad automatická aktualizácia pluginov.
Error logy
V error logoch sú zaznamenané všetky chyby (errors), ktoré sa na Vašej webstránke objavili a ktoré boli odoslané ako požiadavka na vykonanie nejakého procesu. V logoch môžete nájsť takýto zápis súboru error logu:
- vhost_nazovdomeny.sk_error.log
Ako čítať error logy
Error logy sú užitočné pri určovaní chyby, ktorá sa vyskytla na webe. Pokiaľ nie je chyba jasná z chybovej hlášky, ktorá je vypísaná v internetovom prehliadači, alebo Vám nenapadá v čom by mohol problém spočívať, hneď treba pozrieť error logy (prípadne php logy vysvetlené nižšie v tomto návode), z ktorých viete bližšie určiť pôvod problému.
Každý error log je zložený z viacerých údajov: dátum, čas, ip adresa klienta, popis chyby, relatívna cesta. Nie každý error log obsahuje všetky spomenuté informácie.
- Dátum a čas: Dátum a čas, kedy bola chyba zaznamenaná.
- IP adresa klienta: IP adresa klienta, ktorý spôsobil zaznamenanú chybu.
- Popis chyby
- Relatívna cesta – Relatívna cesta k požadovanému dokumentu, kde bola zaznamenaná chyba.
Php logy
Pri vážnejších chybách na webstránkach ide väčšinou o chybu v php skripte. Všetky tieto chyby v sú zaznamenané v php logoch. Tie nájdete zapísané najčastejšie v takomto tvare:
- php_7.4_error.log
*7.4. - verzia php
Ako čítať php logy
Každý php log sa skladá z viacerých údajov: dátum, čas, php chyba, popis chyby, relatívna cesta k súboru. Nie každý php log obsahuje všetky spomenuté informácie.
- Dátum a čas: Dátum a čas, kedy bola chyba zaznamenaná.
- Chyba: Vážnosť chyby – Môže byť PHP fatal error, PHP warning.
- PHP fatal error – Takéto hlásenie predstavuje vážny problém pre Váš web a venujte mu zvýšenú pozornosť.
- PHP warning – Je to len informatívny záznam. Web Vám v tomto prípade bude fungovať (pravdepodobne) bez problémov.
- Popis chyby: Hlási v čom konkrétne je problém.
- Relatívna cesta – Relatívna cesta k php súboru + presný riadok, v ktorom je zaznamenaná chyba.
Kde nájdem logy?
Logy sa spravidla nachádzajú v koreňovom adresári vo Vašom FTP. Zapisujú sa v nich záznamy zo všetkých webov, ktoré máte v danom FTP. Čiže ak v ňom máte 10 webov, všetky budete mať zapísané v jednom priečinku "logs".
K logom sa viete dostať viacerými spôsobmi:
- Cez FTP – Do FTP sa dostanete buď cez WebFTP, alebo cez FTP klienta ako Total Commander, File Zilla, alebo WinSCP.
V FTP nájdete priečinok „logs“ hneď v koreňovom adresári.
Cez WebFTP si logy prezrieť neviete, musíte si ich stiahnuť do Vášho počítača. Viete si ho otvoriť v akomkoľvek textovom editore.
- Cez SSH – U nás si musíte najprv vytvoriť SSH účet a následne sa prihlásiť cez konzolu (Pre Windows dporúčame PUTTY) do SSH. Po prihlásení sa dostanete do koreňového adresára. Príkazom cd logs sa dostanete do adresára logs. Ďalej vypíšte obsah priečinku logs príkazom ls –la. Príkazcat [názov logu](napr. "cat php_7.4_error.log") vypíše všetko čo obsahuje konkrétny log súbor.
TIP: Ak máte v logoch veľmi veľa záznamov a len ťažko by sa Vám v nich hľadala konkrétna informácia, môžete si vyfiltrovať presne to, čo chcete. Ak chcete, aby sa v logoch zobrazila napríklad len GET http metóda, za príkazom "cat [nazov-logu]" napíšte "| grep get".
Napríklad: cat vhost_hostcreators.eu_error.log-20201129 | grep get