GoAccess Log Analyzer
Date:
[]
Categories:
[Tech]
Tags:
[Software]
GoAccess is a web log analyzer that creates useful reports from web server logs. I don’t use analytics like cookies, trackers, Google stuff, because I’m not interested in monitoring my site traffic in any detail. I do like to see general traffic patterns and possible security issues, such as errors that I might want to investigate. GoAccess works well for my needs.
GoAccess can be installed on Linux from many standard package repositories, although these may lag behind the official release. It’s also easy to compile from source. The code is available on Github and is actively maintained. Aside from standard compiler tools like gcc and autoconf, the only required dependency is the ncurses library and headers. If you want to compile with geolocation enabled you will also need the MaxMind library and headers (libmaxminddb0 on Debian).
When run from the command line, GoAccess by default displays an ncurses-based, real-time dashboard, navigated with the keyboard. The terminal dashboard is a little more readable against a dark background. I don’t use the terminal dashboard other than for testing or occasional checks, but I’m impressed with what GoAccess can do with a text-based display.
There are many options for tweaking report processing, input and output formats, the UI display, and other features. I’ve only worked with the terminal dashboard and with the basic HTML reports, so I can’t say anything about these options, other than that they look quite comprehensive.
The Get Started page and an excellent tutorial from Arnaud Rebillout helped me set everything up including the daily log import.
Another good resource is Easy and Ethical Traffic Monitoring With GoAccess, by Brian Schrader.
Setting Up Traffic Monitoring With GoAccess, by Ragnar Groot Koerkamp describes creating a real-time HTML dashboard on an nginx server.