Jukněte se na svůj log

Informace z vašeho webového logu Již nejen většina významných společností, ale i malé a střední firmy se dnes bě...


Informace z vašeho webového logu
Již nejen většina významných společností, ale i malé a střední firmy se dnes
běžně prezentují nebo nabízejí své zboží a služby prostřednictvím Internetu. V
tomto okamžiku nutně vyvstává podstatná otázka, do jaké míry jsou tyto
investice efektivní, zda-li je námi zvolená forma ideální, popřípadě jak je ji
možno změnit. Mnoho lidí se stále mylně domnívá, že WWW je pouze jednostranným
tokem informací k uživateli Internetu. Aplikací poměrně snadných metod můžeme
odkrýt podrobné preference návštěvníků našich prezentací, nabídek či
virtuálních obchodních domů. WWW pak již není pouze slepým prezentačním médiem,
ale může být zároveň i účinným marketingovým nástrojem.
Jednou z možných metod je analýza log souborů, které obsahují záznamy o
činnosti webserveru. Konkrétní podoba a formát log souboru jsou dány typem
použitého webserveru a možnostmi jeho logovacích formátů (více v separátním
textu s názvem Trošku obvyklý log). Předpokladem správné interpretace
statistických charakteristik získaných analýzou log souborů je alespoň základní
znalost struktury zkoumané on-line aplikace.
Ukázka záznamu v log souboru: fw.jednotacb.cz [02/May/ /2000:14:24:59 +0200]
"GET /nabidka/uzeniny/1.html HTTP/1.0" 200 1409
Standardní záznam obsahuje adresu stroje, který vyslal požadavek směrem k
našemu webserveru, přesný čas a záznam o odpovědi serveru a jejích parametrech.
Volíme analog
Jedním z dostupných programů pro analýzu log souborů je program analog,
aktuálně ve verzi 4.1. Autorem programu je Stephen Turner ze statistické
laboratoře Univerzity v Cambridge. Analog je napsaný ve standardním jazyce C a
pracuje v prostředí všech běžných operačních systémů (všechny verze Windows,
dále pak DOS, Mac, veškeré Unixy, Linux, OS/2, Open VMS, BeOS a další). Tento
prográmek dokáže zpracovat téměř všechny formáty log souborů, přičemž uživatel
má navíc možnost jejich vlastní definice. V tomto článku je popisován způsob
použití programu v prostředí MS Windows, kde se tato jednoduchá aplikace
spouští z příkazového řádku (program se neinstaluje). Konfigurace programu se
provádí pomocí souboru analog.cfg anebo přímo z příkazového řádku. Možná je i
konfigurace prostřednictvím webového formuláře v případě, kdy se analog spouští
jako CGI skript umístěný přímo na webserveru. Program, který je včetně
dokumentace napsán v anglickém jazyce, umožňuje generovat výstup v 35 jazycích.
Sympatická z našeho pohledu je skutečnost, že výstup lze generovat i v češtině.
Poslední příjemnou zprávou je pak skutečnost, že používání programu je zdarma.
Statistika nuda je, má však...
Výstupem programu jsou nejrůznější statistické charakteristiky z mnoha pohledů
ukazující vývoj požadavků zpracovaných webserverem. Tyto informace jsou
přehledně uspořádány do hypertextového souboru Report.html. Součástí souboru
jsou i grafy, které jsou programem vygenerovány z číselných hodnot. Výstupní
soubor lze tedy prohlížet v běžném internetovém prohlížeči.
Výstup může obsahovat až 32 různých přehledů a souhrnů (přehled je výčtem
absolutních hodnot, zatímco souhrn je sestaven z hodnot průměrných). Jeho
základními prvky jsou pak: celkový přehled, měsíční přehled, denní souhrn,
hodinový souhrn, přehled domén, přehled adresářů, přehled organizací, přehled
počítačů a přehled požadavků. Dále lze uvést například pětiminutový přehled,
přehled odkazujících stránek a serverů, přehled operačních systémů, přehled
prohlížečů, či přehled uživatelů. Přístupy lze tedy analyzovat až do takových
detailů, jakými jsou například informace o přístupech po pětiminutových
intervalech, údaje o adresách stránek, ze kterých směřovaly jednotlivé
požadavky, či informace o jednotlivých uživatelích. Tato možnost však záleží na
nestandardní konfiguraci webserveru, která může znamenat především jeho
zvýšenou zátěž. Další překážkou může být i fakt, že některé informace se
serveru nejspíše nepodaří zjistit (např. při zpětném překladu klientovy IP
adresy na doménové jméno dochází k relativně značnému zpoždění, způsobenému
reverzním DNS lookupem).
Základním předpokladem pro vytvoření analýzy je zadání základních příkazů
programu prostřednictvím konfiguračního souboru Analog.cfg. Chybně zadané
příkazy jsou ignorovány s tím, že hlášení o chybné syntaxi se vypisuje ve
stavovém řádku. Základními požadovanými příkazy a jejich parametry jsou:
LOGFILE C:log*.log příkaz pro určení lokace zdrojových log souborů, ze
syntaxe příkazu je vidět, že se jedná o absolutní adresaci a použití masky pro
výběr více souborů.
IMAGEDIR img/ příkaz pro určení lokace generovaných grafů, zde se jedná naopak
o relativní adresaci z pohledu souboru Report.html.
Pouze tyto dva parametry jsou nutné k vlastnímu spuštění aplikace. V tomto
případě budou ale použity defaultní hodnoty a výstup proto nemusí splňovat
všechny vaše požadavky. V takovém případě vám nezbyde nic jiného než výstup
upravit podle následujících odstavců.
Upravte si výstup
Pro konfiguraci výstupu disponuje analog velkou škálou příkazů, které jsou
podrobně popsány v programové dokumentaci. V tomto textu se podíváme pouze na
ty základní.
Parametry základní skupiny příkazů pro jednotlivé Reports, Summaries (přehledy
a souhrny) jsou přepínače ON/OFF, důležitou skupinou příkazů jsou příkazy s
postfixem COLS, který určuje, v jakých hodnotách budou vyjádřeny jednotlivé
statistické charakteristiky. Parametry této skupiny příkazů jsou:
R počet přístupů
r procentuální vyjádření počtu přístupů
P počet požadovaných stránek
p procentuální vyjádření počtu požadovaných stránek
B objem přenesených dat v bytech
b procentuální vyjádření objemu přenesených dat
Tedy např. parametr DIRCOLS RrB určuje, že přehled adresářů bude obsahovat
počet přístupů, jejich procentuální vyjádření a objem přenesených dat.
Dalšími zajímavými parametry jsou pak:
postfix FLOOR příkazy s tímto postfixem stanovují spodní hranici pro zahrnutí
údajů do přehledu/souhrnu. Parametrem příkazu je požadovaná hodnota a klíčový
údaj, ze kterého bude tato hodnota brána. Program pracuje s implicitními
hodnotami, které budou zpočátku možná vysoké, ale postupem času asi příliš
nízké. Tedy např. REQFLOOR 5000R program bude do analýzy zahrnovat všechny
soubory, u nichž absolutní počet požadavků přesáhl hodnotu 5 000 implicitní
hodnota je 20.
postfix SORTBY takovéto příkazy určují kritérium, podle kterého má být daný
přehled nebo souhrn setříděn (zpravidla sestupně). Parametry příkazu jsou
BYTES, DATE, ALPHABETICAL. Např. HOSTSORTBY ALPHABETICAL přehled počítačů bude
setříděn podle abecedy.
INCLUDE a EXCLUDE velmi důležitá skupina příkazů, s jejichž pomocí lze z
analýzy vyloučit nepotřebné údaje jako například přístupy vyhledávacích robotů,
či přístupy vlastní. Tedy např. HOSTEXCLUDE scooter. pa. altavista.net z
analýzy jsou veškeré požadavky, jejichž původcem byl robot z Altavisty.
prefix SUB příkazy s tímto začátkem je možno využít ke konfiguraci dílčích
přehledů a souhrnů. Zajímavé je použití skupiny příkazů s prefixem SUB, které
umožňují podrobnější členění výstupních informací. Např.
SUBDIR/cenova_nabidka/* zahrnutí podadresářů adresáře cenova_nabidka, do
adresářového přehledu.
Konfigurovat lze samozřejmě i samotný vzhled výstupu. Toto však není příliš
podstatné.
Proč a zač
Nejvyšší význam výsledků hodnocení spočívá v získání kvalitních údajů pro
optimalizaci obsahu, zaměření a formy on-line aplikace. Analýzou chybových log
souborů lze navíc získat dokonalý přehled o chybách, způsobených nedostatky ve
zpracování aplikace.
V našem případě jsme testovali log soubor obsahující 394 086 záznamů (41,347
MB). Tato analýza trvala na systému s Pentiem III s taktovací frekvencí 450 MHz
necelých 7 sekund. Autor udává rychlost 2 miliony řádek za minutu při
zpracování na systému s procesorem s frekvencí 266 MHz, což téměř přesně
odpovídá našim hodnotám. Autor dále udává, že program je schopen analyzovat log
soubor s více jak 500 miliony řádek (50 GB).
Veškeré potřebné informace lze snadno a rychle nalézt ve velmi přehledné
programové dokumentaci. Program, i když na první pohled ne příliš uživatelsky
příjemný, je velmi úsporný, přehledný, spolehlivý a hlavně výkonný. Dle GVU
(Graphic, Vizualization & Usability Center), jehož průzkumy chování uživatelů
WWW jsou těmi nejuznávanějšími, je analog nejpoužívanějším programem pro
analýzu log souborů na světě (analog podle tohoto průzkumu používá 24,9 % všech
webmasterů).
Trocha podpory a dat
Analog má také poměrně kvalitní on-line podporu, jeho uživatelé mohou využít
dokonce několika poštovních konferencí. Zajímavá je také relativně malá
velikost programu, kdy komprimovaný program zabírá 798 kB (po rozbalení 1,92
MB) a lze si jej, včetně programové dokumentace stáhnout z domácí stránky
autora z adresy http://www.statlab.cam. ac.uk/~stet1/ nebo nově i ze stránek
http://www.analog.cx (ne, nejde o překlep, ale jedná se o stránky v top doméně
Velikonočních ostrovů Christmas Island, elegantní žert autora programu). K
volnému stažení je zde i kompletní zdrojový kód programu.
Jak tomu již u úspěšných programů bývá, k dispozici je i velké množství
doplňkových aplikací od dalších autorů. Některé z nich jsou zdarma, některé
nikoliv. Tyto aplikace umožňují snazší konfiguraci programu pomocí grafického
rozhraní, úpravu formátu log souborů ještě před použitím analogu (v tomto
ohledu je velmi zajímavá možnost konvertovat log soubory poštovního serveru na
formát použitelný pro analog a jejich následná analýza), dále pak nástroje pro
usnadnění překládání IP adres a další. K dispozici jsou i nástroje pro
vylepšení vzhledu výstupu programu.
Velkou výhodou řešení postaveném na analýze log souborů je flexibilita, se
kterou může uživatel analyzovat přístupy z mnoha pohledů. Pokud máte vlastní
webserver, pak jistě nebudete mít problém, jak se k log souborům dostat.
Vyžíváte-li hostingových služeb, pak se budete muset na jejich zpřístupnění
dohodnout s vaším poskytovatelem, jelikož poskytování log souborů zpravidla
není součástí základních služeb. Mé vlastní zkušenosti jsou však takové, že se
tento problém vždy podařilo vyřešit.
0 1695 / alsn

Zajímavé odkazy
http://www.webalizer.org/ velice zajímavý projekt, obdoba programu Analog
http://www.kneschke.de/projekte/modlogan/ projekt vycházející z předchozí
varianty, ovšem s řadou vylepšení
http://www.netstore.de/Supply/http-analyze/index.html další varianta podobná
weblogu
http://www.nihongo.org/snowhare/utilities/ftpweblog/ tento analyzátor si poradí
i s FTP logy
http://www.bastionsoftware.com/products/apeache/ malinko odlišný software,
který za běhu monitoruje logovací soubor a vytváří databázi unikátních hostů,
kteří vaši stránku navštívili
http://www.boutell.com/wusage/ další z analyzátorů s názvem WUsage, nyní již ve
verzi 7
http://accesswatch.com/ komerční varianta na analýzu souborů s identickým
názvem jako jejich webová stránka AccessWatch 2.0
http://www.sane.com/products/NetTracker/ sofistikovaný komerční produkt
NetTracker
http://www.wadsack-allen.com/digitalgroup/reportmagic/sample/index.html
vylepšení Analogu o další funkce a s lepší grafikou

Trošku obvyklý log
V současné době většina webových serverů používá při logování některý z níže
uvedených formátů, kdy je asi nejčastěji použit formát CLF, který podporuje
většina analyzátorů. Na druhou stranu z takovéhoto logu nedostanete všechny
požadované údaje a pokud váš analyzátor umí i některý rošířený log, pak určitě
neváhejte a zkuste jej (osobně doporučuji ELF). Nejčastěji používané formáty
jsou následující:
Common Logfile Format (CLF) podporován téměř všemi webservery, jeho formát je
následující:
dns_jméno auth_user [datum] "požadavek" status velikost,
kde mají jednotlivá pole následující význam:
*dns_jmeno FQDN jméno počítače, ze kterého se uživatel připojuje
*nepoužito
*[datum] datum přístupu k souboru většinou ve formátu [DD/MM/YYY:HH:SS +-ZZZZ]
*"požadavek" požadavek uzavřený v uvozovkách ve formátu
* "metoda URI proto", kde metoda je jeden z následujících parametrů GET, HEAD,
POST, PUT, BROWSE, OPTIONS, DELETE nebo TRACE; URI je Uniform Resource
Identifier požadovaného souboru a proto je parametr s číslem použité verze HTTP
protokolu
*status je číselná odpověď webového serveru, jeho status
*velikost je objem přenesených dat v daném požadavku
Combined LogFile Format(DLF) přidává navíc použité URL odkud uživatel přišel a
typ použitého prohlížeče. Formát je pak následující:
CLF "referrer_URL" "user_agent", kde jednotlivé položky mají následující význam:
*CLF je Common Logfile Format, tedy jeho parametry
*"referrer_URL" v uvozovkách URL, odkud uživatel přišel
*"user_agent" uživatelem použitý browser, tedy přesněji řečeno jeho
identifikační string
Extended LogFile Format(ELF) je vlastně stejný jako DLF, pouze neuzavírá
poslední dva parametry do uvozovek a má je uvedeny v obráceném pořadí.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.