v1.7. It adds support for IP/ASN mapping for GeoIP2 and legacy databases. Great for detecting malicious traffic and block accordingly. Adds highlighting to certain metrics on the HTML report. Also adds a new option to classify unknown OS and browsers as crawlers 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.7.tar.gz $ tar -xzvf goaccess-1.7.tar.gz $ cd goaccess-1.7/ $ ./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 arch=$(dpkg --print-architecture)] 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
The following signatures were invalid: EXPKEYSIG 97BD1A0133449C3D.... See Github issue to solve the expired key.
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
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:
tail -F 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)|