Když jsem byl před měsícem na školení technického SEO, můj hlavní cíl byl dozvědět se maximum o analýze crawl logů. Po školení jsem ale narazil na problém. Doporučené nástroje mi přišly složité na nastavení nebo ovládání. A tak jsem se věnoval vlastnímu průzkumu, až jsem narazil na Apache Logs Viewer, s nímž už měsíc pracuji a chci vám jej dnes ukázat.
Update 27.11.2020: SW změnil název na http Logs Viewer.
Proč jej zkusit
Nástroj [web, návod v pdf] je nejspíš výsledkem programátorské one man show. Vizuálně nezaujme, o to víc mě ale oslovily funkce. Netradičně zkusím vypíchnout, proč jej vyzkoušet:
- není (pro většinu logů) náročný na HW (4,5 milionu řádků mi zabere cca 5 500 MB RAM při výpočtech, ale u 20 milionů řádku schramstne 35 GB RAM)
- umí regulární výrazy pro filtrování v datech (placená verze)
- umí sloučit více logů do jednoho
- snadný export do csv (pro fanoušky OpenRefine je možná analýza pohodlnější tam)
- má použitelné reporty a statistiky
- pozná Seznambota
Základní ovládání
Jednotlivé logy stačí přetáhnout do okna se spuštěným programem. V nastavení ale nejprve musíte zvolit maximální velikost souboru, který chcete načíst, jinak Apache Logs Viewer načte jen vzorek.
V nastavení si také můžete vybrat sloupce, které vás v logu zajímají. Co potřebujete určitě, je:
- IP adresa
- Datum
- Request
- Stavový kód (Status)
- Země
- Referrer
- User agent
Software v pohodě zvládá i větší data, mám otestováno přes milion řádků v logu. Po sloučení více logů mu jen chvíli zabere, než aktualizuje informace o celkovém počtu řádků.
Filtrování v datech
Kromě hledání různých chyb a statistik, které řeší připravené reporty, nad všemi sloupci pak můžete provádět filtrování, které má ale trošku speciální ovládání.
Většina filtrů funguje za pomoci následující logiky:
- zahrnout
- vyloučit
- ignorovat
- zahrnout pomocí regulárního výrazu
- vyloučit pomocí regulárního výrazu
Ta je dostačující k tomu, abyste si dokázali třeba podle URL ověřit, jaké scénáře se na webu odehrávají (např. návštěvy parametrů a jejich kombinací). Filtry můžete kombinovat a aktivují se až po kliknutí na tlačítko Apply Filter.
Zmíněná zvláštnost je, stejně jako třeba u OpenRefine, že pokud chcete po aplikaci filtrů přidat nějaké další, ty se budou aktivovat nad právě zobrazenou skupinou dat. Prakticky tedy můžete postupně například procházet požadavky, které skončily stavovým kódem 404 a postupně vylučovat jednotlivé scénáře, které definujete ve filtru Request. Na první čtení to zní možná složitě, ale těžké to není.
Pokud chcete v základním zadání filtrů něco změnit, musíte využít funkci Reset List. Ta zruší aktuální výstup, ale zachované údaje, které jste si zadali do nastavení filtrů. Tlačítko na zrušení celého filtru totiž vše nastavené smaže a museli byste vyplňovat znovu.
Užitečné je, že vytvořené filtry si můžete uložit pro další využití.
Našel jsem i jeden pěkný trik s kombinací filtrů. V tomto nastavení Access Log Viewer automaticky záznamy zúží pouze na crawlery.
Připravené reporty
Sada reportů, která je připravená, je dost rozsáhlá a nejlépe si o ní uděláte představu ze dvou následujících screenshotů.
Ty využijete všude tam, kde potřebuje mít reporty v tabulkové nebo grafové podobě. Platí, že čím větší log, tím déle generování trvá, ale zátěž na proces není taková, abyste chvíli nemohli dělat něco jiného.
Některé reporty jsou opravdu podrobné a můžete data sledovat z většího logu i po dnech či rozdělené na mobil a desktop.
Ukázkové výstupy
Co v logu sleduji já
Využití má asi každé jiné a liší se i podle webu. Mě zajímá:
- celková aktivita každého crawlera
- poměry mezi typy podstránek
- hloubka crawlu (filtry na eshopech)
- chyby
- nalezení botů, kteří pro web nepřinášejí hodnotu
Závěr
Pro moje potřeby je Access Logs Viewer ideální. Nemusel jsem se učit žádné výrazy z programovacích jazyků nebo operačních systémů a pro rozbor dat nabízí dostatek možností. Pokud jej nechcete platit (20 EUR osobní a 70 EUR firemní použití), můžete jej použít zdarma. Chybět mu budou pokročilé filtry, ale z logu vám snadno vytvoří csv výstup, se kterým si můžete hrát třeba v OpenRefine.
Ve srovnání například s Log File Analyzerem mu chybí některé vizualizace, v praxi jsem je ale nepostrádal, protože je umím nahradit vlastním grafem.