v1.5.2 is a minor release. Addresses multiple issues. Fixed issue where lengthy static-file extension wouldn't account certain valid requests. Fixed segfault when attempting to parse an invalid JSON log while using a JSON log format and more.
For the complete list of features and changes, see the Releases Notes page.
If you would like to be on top of all the changes occuring to GoAccess,
feel free to use the GitHub master branch and build from it. Instructions on how to build GoAccess from Github can be found at the bottom of the Download page.
This is where all the development goes. If you already have Git installed, you can get the latest development version via Git.
Installing GoAccess is pretty easy. Just download, extract and compile it with:
$ wget https://tar.goaccess.io/goaccess-1.5.2.tar.gz $ tar -xzvf goaccess-1.5.2.tar.gz $ cd goaccess-1.5.2/ $ ./configure --enable-utf8 --enable-geoip=mmdb $ make # make installNote: The only dependency is ncurses.
autopointetc for compiling/building software from source. e.g.,
Multiple options can be used to configure GoAccess. For a complete up- to-date list of configure options, run ./configure --help
legacywill utilize the original GeoIP databases.
mmdbwill utilize the enhanced GeoIP2 databases.
libssl1.1has been added upstream.
It is easiest to install GoAccess on Linux using the preferred package manager of your Linux distribution. Please note that not all distributions will have the latest version of GoAccess available
# apt-get install goaccess
Note: This may not always give you the latest stable version. To make sure that you're running the latest stable version of GoAccess see option below.
$ wget -O - https://deb.goaccess.io/gnugpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/goaccess.gpg >/dev/null $ echo "deb [signed-by=/usr/share/keyrings/goaccess.gpg] https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/goaccess.list $ sudo apt-get update $ sudo apt-get install goaccess
GPG error The following signatures couldn't be verified because the public key is not available.
.debpackages in the official repo are available through
httpsas well. You may need to install
C03B 4888 7D5E 56B0 4671 5D32 97BD 1A01 3344 9C3D
# yum install goaccess
# pacman -S goaccess
# emerge net-analyzer/goaccess
# brew install goaccessNote: If GeoIP is needed, append
--with-libmaxminddbto the command above. You will need to download the City/Country database from MaxMind and use the option
--geoip-databaseto specify the database.
# pkg install sysutils/goaccess
# pkg_add goaccess
# zypper ar -f obs://server:http http # zypper in goaccess
# pkgin install goaccess
# curl https://slackbuilds.org/slackbuilds/14.1/system/goaccess.tar.gz | tar xvz # cd goaccess/ # GEOIP=yes ./goaccess.SlackBuild
CowAxess is a GoAccess implementation for Windows systems. It is a packaging of GoAccess, Cygwin and many other related tools to make it a complete and ready-to-use solution for real-time web log analysis, all in a 4 MB package. We have followed standard instructions available at the GoAccess website.
If you prefer to go the more tedious route, GoAccess can be used in Windows through Cygwin. See packages to install.
A Docker image has been updated, capable of directing output from an access log. If you only want to output a report, you can pipe a log from the external environment to a Docker-based process:
cat access.log | docker run --rm -i -e LANG=$LANG allinurl/goaccess -a -o html --log-format COMBINED - > report.html
Or for a real-time report:
cat access.log | docker run -p 7890:7890 --rm -i -e LANG=$LANG allinurl/goaccess -a -o html --log-format COMBINED --real-time-html - > report.html
For more details, please see the Docker section on README.md file
GoAccess has minimal requirements, it's written in C and requires only ncurses. However, below is a table of some optional dependencies in some distros to build GoAccess from source.
|Distro||NCurses||GeoIP (optional)||GeoIP2 (optional)||OpenSSL (optional)|