Categorieƫn
Hosting

SiteGround Access Logs analyseren met GoAccess deel 2

In 2021 schreef ik al eens het bericht “SiteGround Access Logs analyseren met GoAccess”, in dit bericht een vervolg met enkele verbeteringen. SiteGround houdt de access logs per dag bij in de volgende map: /home/customer/www/example.com/logs. De bestanden zijn ingepakt en hebben de volgende notatie: example.com-2023-07-01.gz. Voor het analyseren van de access logs is het vaak handig om de logs van meerdere dagen te gebruiken. In dit bericht is te lezen hoe dat eenvoudig te doen is.

Allereerst moet de logs-map gedownload worden, dit kan met een (S)FTP-programma of met bijvoorbeeld rsync. Zodra de map is gedownload kun je in de terminal met cd de ‘working directory’ wijzigen naar de logs-map.

cd ~/Downloads/logs

Vervolgens zijn de ingepakte (*.gz) bestanden met het volgende commando uit te pakken:

gunzip *.gz

Omdat GoAccess normaliter met 1 bestand opereert is het handig om de bestanden samen te voegen. Het samenvoegen van de logbestanden kan met behulp van het volgende commando:

cat * > access.log

Vervolgens kunnen we access.log bestand analyseren met behulp van GoAccess:

goaccess -f access.log --log-format='%h %v %^ [%d:%t %^] "%r" %s %b "%R" "%u" | %K | %^ %^ %T %C %^'  --date-format='%d/%b/%Y' --time-format='%H:%M:%S' -o report.html

Het mooie van GoAccess is dat de verzoeken ook te sorteren zijn op de transfertijden (T.S. = Transfer Time):

KolomBetekenis
Avg. T.S.Gemiddelde transfertijd.
Cum. T.S.Cumulative transfertijd
Max. T.S.Maximum transfertijd.
Uitleg GoAccess-labels voor transfertijden.

Bij “Hosting Plan Reached Allowed Monthly CPU Seconds” berichten van SiteGround kan dit helpen om te achterhalen welke requests veel tijd kosten.

Het GoAccess HTML-rapport “Requested Files (URLs)” panel gesorteerd op maximum transfertijd.

Bonus 26 juli 2023 šŸŽ

Zoals mijn collega Reüel al in de reacties liet weten kan het ook met een one-liner:

cat *.gz | zcat | goaccess --log-format='%h %v %^ [%d:%t %^] "%r" %s %b "%R" "%u" | %K | %^ %^ %T %C %^' --date-format='%d/%b/%Y' --time-format='%H:%M:%S' -o report.html

En later liet Reüel me weten dat het nog makkelijker kan:

ssh user@host -p18765 -C 'cat www/example.com/logs/*' | zcat | goaccess --log-format='%h %v %^ [%d:%t %^] "%r" %s %b "%R" "%u" | %K | %^ %^ %T %C %^' --date-format='%d/%b/%Y' --time-format='%H:%M:%S' -o report.html && open report.html

Ook bruikbaar om de access logs te doorzoeken:

ssh user@host -p18765 -C 'cat www/examples/logs/*' | zcat | grep "zoekopdracht"

ƉƩn reactie op “SiteGround Access Logs analyseren met GoAccess deel 2”

Oneliner om GoAccess vanuit de *.gz bestanden te laten lezen:

cat *.gz | zcat | goaccess --log-format='%h %v %^ [%d:%t %^] "%r" %s %b "%R" "%u" | %K | %^ %^ %T %C %^' --date-format='%d/%b/%Y' --time-format='%H:%M:%S' -o report.html

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *