GoAccess v1.9.3
Added common bots to the list, added configure option to enable Address Sanitizer for debugging, fixed JSON key parsing, resolved a duplicate count regression and out-of-bounds access issues,
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.9.3.tar.gz $ tar -xzvf goaccess-1.9.3.tar.gz $ cd goaccess-1.9.3/ $ ./configure --enable-utf8 --enable-geoip=mmdb $ make # make installNote: The only dependency is ncurses.
gcc
, autoconf
, gettext
, autopoint
etc for compiling/building software from
source. e.g., base-devel
, build-essential
,
"Development Tools"
.Multiple options can be used to configure GoAccess. For a complete up- to-date list of configure options, run ./configure --help
--enable-debug
--enable-asan
--enable-utf8
--enable-geoip=<legacy|mmdb>
legacy
will utilize the original GeoIP databases. mmdb
will utilize the enhanced GeoIP2 databases.--with-getline
--with-openssl
libssl1.1
has 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
. .deb
packages in the official repo are available through https
as well. You may need to install apt-transport-https
.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-libmaxminddb
to the command above. You will need to download the City/Country database from MaxMind and use the option --geoip-database
to 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) |
---|---|---|---|---|
Ubuntu/Debian | libncursesw6-dev | libgeoip-dev | libmaxminddb-dev | libssl-dev |
Fedora/RHEL/CentOS | ncurses-devel | geoip-devel | libmaxminddb-devel | openssl-devel |
Arch Linux | ncurses | geoip | libmaxminddb | openssl |
Gentoo | sys-libs/ncurses | dev-libs/geoip | dev-libs/libmaxminddb | dev-libs/openssl |
Slackware | ncurses | GeoIP | libmaxminddb | openssl |