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):
Kolom | Betekenis |
---|---|
Avg. T.S. | Gemiddelde transfertijd. |
Cum. T.S. | Cumulative transfertijd |
Max. T.S. | Maximum transfertijd. |
Bij “Hosting Plan Reached Allowed Monthly CPU Seconds” berichten van SiteGround kan dit helpen om te achterhalen welke requests veel tijd kosten.

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