Logy ze serveru

Zatímco počitadla a statistické servery získávají data nepřímo pomocí obrázků, logování na serveru je metoda naprosto přímá. Http server sleduje požadavky, které na něj od uživatelů přicházejí, a zapisuje si je do souboru. Takovému souboru se říká log (čteno [log], množné číslo logy). Ukládá se na serveru, odkud si ho majitel může stáhnout, nebo se tam rovnou analyzuje.

Ne každý má přístup ke svým logům. Některé servery nelogují, jiné jsou špatně nastavené, někde se za logy platí. Zkuste si logování nastavit (na vlastním serveru) nebo se domluvit správcem serveru. Máte-li stránky na freewebu, o logování si můžete nechat jenom zdát. Problémem bývá velikost log souborů -- mohou mít mnoho megabajtů.

Jak vypadá log

Každý záznam se do logu píše na nový řádek. Řádek v následujícím příkladu obsahuje datum a čas, ip adresu klienta, http metodu, požadované url (relativní v rámci serveru) kód odpovědi a otisk prohlížeče (user-agent). Může obsahovat i další údaje, to záleží na nastavení. Příklad kousku logu:

2003-09-02 14:58:29 62.245.90.159 GET /pozadi.htm 200 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+.NET+CLR+1.1.4322)
2003-09-02 14:58:32 160.218.144.158 GET /javascript/priklady/skryvane_zalozky.htm 200 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+98;+Win+9x+4.90)
2003-09-02 14:59:09 194.228.206.162 GET /weblog/yuhu_weblog.xml 304 Feedreader
2003-09-02 14:59:17 62.229.222.18 GET /images/jakpw.gif 304 Mozilla/5.0+(X11;+U;+Linux+i686;+en-US;+rv:1.0.2)+Gecko/20030708

Příklad ukazuje čtyři přístupy z druhého září odpoledne. Z IP adresy 62.245.90.159 někdo požádal o stránku pozadi.htm prohlížečem MSIE 6.0 a dostal ji (to je ten kód 200). O chvíli později se někdo jiný (z rozdílné IP adresy) díval na příklady skrývaných záložek. Záznam na třetím řádku udělala nějaká rss čtečka (Feedreader), zjistila ale, že se požadovaný soubor yuhu_weblog.xml nezměnil (kód 304), a tak ho nestahovala. Stejně tak se nezměnil obrázek /images/jakpw.gif, na který se kdosi kouká linuxovou Mozillou (Gecko).

Logování podporují všechny běžně používané servery (kromě těch bizardních jako je třeba Boa), mohou ho mít ale vypnuté. Nastavení logování pro Apache. Poznámky o logFormat.

Nastavení logování pro IIS se dělá v klikací aplikaci IIS. Dá se naklikat, co v logu chcete mít.

Zpracování logů

Webalizér

Nejpoužívanější software na zpracování logů, umí vytáhnout pouze základní statistiky. Nikdy jsem s ním moc nedělal.

Analog

Hodí se zejména pro analýzu logů z IIS. Stažení z adresy google > "download analog"

Rozbalení zipu.

V souboru analog.cfg udělat změny:
přidat řádek s textem
LANGFILE cz.lng
(čeština)

řádek LOGFILE logfile.log

přepsat na správnou cestu k souboru, např. LOGFILE c:\www\muj_log.log

pokud je nastaven vlastní formát logu nebo je log z Apache, je třeba pohrát si na serveru s nastavením LOGFORMAT, příklady jsou v souboru examples/misclogs.cfg

Spustit program analog.exe. Problikne černá obrazovka a jakoby se nic nestane, ale vznikne soubor Report.html. To je zpráva o statistice získaná z logu obsahující všechny základní věci.

Konverze logů

http://www.rebex.net/rconvlog/ Program rconvlog konvertuje IIS (W3C) logy do formátu NSCA, což umí zpracovat Webalizer. Opačně funguje mrkvosoftí program Convlog (bacha exáč).

ClickTracs

ClickTracs je dost drahá aplikace, ale můžete vyzkoušet prográmek ClikTracks Appetizer. Umí zpracovávat logy poněkud zvláštním, ale nesmírně zajímavým způsobem, který si možná oblíbíte natolik, že si koupíte plnou verzi.

Kontingenční tabulka

Menší logy se dají načíst do Microsoft Excelu a buďto pomocí průvodce importem nebo přes Data > Text do sloupců se dají rozdělit do buňěk tak, aby s nimi uměl Excel dále pracovat jako s daty. Pokud v Excelu nabídku Data nepoužíváte, tak se ji zkuste naučit (případně jsem schopen připravit školení).

Asi nejzajímavější nástroj na zpracování dat (a tedy i logů) v Excelu je kontingenční tabulka. Zkuste protrpět úvodní bádání a naučit se kontingenční tabulku využívat.

Protože je Excel od Microsoftu, nezvládá velké objemy dat. Logy nad milión řádků nedoporučuju zpracovávat v Excellu ani v Accessu (jdou z toho do kytek).

Grep a jiné linuxové utility

Nejčastěji na analýzu logů používám lopatu. Lopatou myslím základní linuxové/unixové utility: cat, cut, grep, sort, uniq (zvláště uniq -c), wc, tr, head a další. Příklad, jak se ze standardního apachovského logu vytáhnou údaje o návštěvnosti o html stránkách:

cat access.log | cut -d " " -f 7 | grep "html" | sort | uniq -c | sort -r | head -50

Co to udělá:

cat access.log
vypíše soubor access.log, tedy předpokládám, že se ten soubor tak jmenuje
|
roura | znamená, že se výstup pošle dalšímu procesu. Výstup od příkazu cat tedy nyní chytí příkaz cut
cut
rozřezává soubor podle sloupců a vybírá z něj jenom některé sloupce
cut -d " " -f 7
tento cut rozřezává podle oddělovače (d) mezera (to jsou ty dvě uvozovky obklopující mezeru). Vybírá sedmý sloupec a posílá ho přes rouru dalšímu procesu. V sedmém sloupci jsou údaje o požadované adrese (to si spočítám pohledem na log, ne vždy je to sedmý sloupec).
grep "html"
probírá řádky a posílá dál pouze takové, které obsahují řetězec html. Tím zpravidla odpadnou záznamy o jpg nebo css souborech, které mě v tomto příkladu nezajímají.
sort
seřadí řádky. Jde pouze o přípravu pro příkaz uniq.
uniq
vybírá unikátní řádky. Řádky, které jsou duplicitní, posílá maže a dál posílá jenom jednoho zástupce.
uniq -c
tento přepínač způsobí, že si uniq pamatuje, kolikrát se na vstupu který řádek vyskytoval. Dál posílá číslo s počtem výskytů, mezeru, a původní řádek. Dozvím se tím tedy, kolikrát byla která html stránka volána.
sort -r
seřadí výsledky sestupně, nejčastěji volané stránky jsou nahoře
head -50
z výsledku mě zajímá pouze prvních padesát řádků

Tak jak se vám to líbí? Dobrá magie, co? Je to ale to nejlepší, co existuje, protože je to rychlé, dá se to zpravidla provádět přímo na serveru a můžete z logu vytáhnout jenom to, co vás opravdu zajímá.

Co z toho číst

Je potřeba vědět, co chci vědět. Koukání na běžné výstupy z logů jsou sice chvíli zajímavé, ale jinak provozovateli logů moc neřeknou. Nemám nyní sílu popisovat postupy, kterými se k jednotlivým pohledům dospívá, tak jenom stručně vyjmenuju, co mě obvykle zajímá:

 

Reklama

www.webhosting-c4.cz, extra rychlý SSD webhosting s doménou v ceně
o tvorbě, údržbě a zlepšování internetových stránek

Návody HTML CSS JavaScript Články Ostatní

Články Katalog zdrojů SEM SEO

Jak psát web píše Yuhů, Dušan Janovský. Kontakt.