What is it ?
GoAccess is a logfile analyzer that can be used from the command prompt, no need to install a framework, get an account on a website or any other delays. Just download it and get to work immediately.
Working with GoAccess
Recently i have discovered this great tool that helps me to get some insights about the visitors of my website. I use it to see where visitors come from and to see what content is most popular.
I can get an idea of what pages are failing or producing errors. This helps improving page ranking by crawlers like Google, Yahoo and Yandex. I have submitted my url and siteindex to these searchengines and use the webmaster tools test my website. With GoAccess i can see the results on my side when the requests come in. That way i can fix the issues reported in the webmaster tools and test again.
What i also learned is that people are trying to login to all kind of admin pages like php-admin, tomcat and mysql admin pages. I run fail2ban to keep people of my systems so GoAccess provides me with a way to inspect how things are going.
This way i could see which modules i needed to add to fail2ban for my webserver and improve security. I can also easily check if proxy rules or redirects are working.
From the overview of traffic hours i can see when i have the most visitors which can help to determine what the best moment would be to post new content or launch a campaign. In a way GoAccess can also be a marketing tool.
Analyzing the Apache web traffic can be needed to determine content errors or broken links. GoAccess can help to see what content is getting the most traffic and when. If traffic from a referral link is expected you could use GoAccess to monitor the traffic.
Where a packetscanner like Wireshark provides a good idea of the traffic it cannot provide you insights of the webserver so it can be a good combination to troubleshoot issues related to network and content.
I use GoAcess on my Piaware project to see if the uplink is working and who visits my flightradar.
Get it now
Just login to your webserver or run it on your local machine after downloading the access.log file.
Reading the access.log
Just point GoAccess to the location of the file. In this case and i am be able to use it with Apache access logs, select the "NCSA Combined Log Format"
(The access.log has to be in the "combined" format. Check your Apache configuration).
Just type 'goaccess access.log' and hit the space bar when the menu starts.
Many other types of logfiles can be read and from the menu you can create your own regular expression to read a file in a specific way. Time and date settings can be set using regular expressions.
While looking for a tool to provide insights on my webserver traffic I came across the GoAccess software and i installed it. Right after completing the setup i found out that it was something i have been looking for a long while. No need to install a complete framework or connect to a cloud platform. Just download and install along with some common packages, hit enter and run!
There is support on many platforms including most favorite flavors of Linux but also BSD and OSX. CowAxess is a GoAccess implementation for Windows systems if that is your weapon of choice.
Output can be on the dashboard in your terminal or to html including live monitoring so you could set a page up on your webserver, protect it with .htpasswd, just an idea.
My practical use case is to use GoAccess for the access.log so far. My findings are based on my own configuration and setup, Debian and Apache. There is more detailed information about usage and setup on all the platforms to be found on the GoAccess website. https://goaccess.io/download
This concludes my review of GoAccess for now, i will update the post when i have new findings and find the right regular expressions for the files i would like to process. Check the categories below for other projects, tips and tricks.
If you would like me to build more interesting projects support me here: