Webstránky

Ako použiť Goaccess na analýzu prístupových záznamov (access_logs) zo serverov Websupportu

Goaccess je software, ktorý vie vytvoriť zo serverových záznamov prístupu prehľadné štatistiky. Stiahnete si logy z hostingu a Goaccess vám vytvorí 1 HTML súbor s peknými grafíkmi.

1. Nainštalujeme si Goaccess na náš Debian (Ubuntu)

echo "deb http://deb.goaccess.io $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list
wget -O - http://deb.goaccess.io/gnugpg.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install goaccess

Ďalšie spôsoby inštalácie sú uvedené tu.

2. Nastavíme konfiguračný súbor podľa našich potrieb

Tu začína zábava s kombináciou Goaccess a Websupport. Softu treba povedať, v akom formáte server loguje čas, dátum a požiadavku. Odkomentujte a upravte cez sudo nano /etc/goaccess.conf tieto tri riadky:

time-format %H:%M:%S
date-format %d/%b/%Y
log-format %v %h %^[%d:%t %^] "%r" %s %b "%R" "%u" %^

Použijeme "Apache/NGINX's time format", "Apache/NGINX's date format" a upravené "NCSA Combined Log Format with Virtual Host". Websupport loguje požiadavku v jemne odlišnom formáte než je odkomentovaný log-format, takže si musíme log-format upraviť podľa našej potreby (pridáme na koniec "%^" oddelené medzerou).

Poznámka: Goaccess umožňuje nastaviť spracovanie prakticky akéhokoľvek formátu záznamu (odkaz na man), mne sa podarilo rozchodiť WSácky formát.

3. Pripravíme logy a necháme si vytvoriť HTML štatistiku

Stiahneme si logy, ktoré chceme analyzovať z hostingu (v priečinku "logs") a odzipujeme ich:

gunzip access_log-2016-08-06.gz

WSko vytvára súbor s prístupmi za každý predchádzajúci deň. Ak chcete analyzovať návštevnosť za posledný týždeň, takto spojíte súbory do jedného (takýto súbor môže mať aj +3GB):

sed -n wfile.merge access_log-2016-08-06 access_log-2016-08-07 access_log-2016-08-08 access_log-2016-08-09 access_log-2016-08-10  access_log-2016-08-11 access_log-2016-08-12

Vytvoríme si testovaciu verziu logov obsahujúcu napr. posledných 100 riadkov, pretože chyby v prípade +3GB súboru trvajú dlho:

tail -n 100 access_log-2016-08-06 > testlogs

Teraz, keď máme hotový pokusný súbor necháme Goaccess nech nám vytvorí pekné a prehľadné HTML zhrnutie:

goaccess -f testlogs -a > testlogs.html

Ak všetko dobre dopadlo môžeme ísť na ostro.

goaccess -f file.merge -a > hotovo.html

Poznámka: Záznam prístupov (access log) je vlastne súbor vo formáte CSV, kde oddelovač stĺpcov je medzera.