- Advertisement -
Rumble Ad

GoAccess is an interactive and real time web server log analyzer program that quickly analyze and view web server logs. It comes as an open source and runs as a command line in Unix/Linux operating systems. It provides brief and beneficial HTTP (web server) statistics report for Linux administrators on the fly. It also take care of both the Apache and Ngnix web server log formats.

GoAccess parses and analyze the given web server log formats in preferred options including CLF (Common Log Format), W3C format (IIS) and Apache virtual hosts and then generate output of the data to the terminal.

GoAccess Features

It has the following features.

General Statistics, bandwidth etc.
Top Visitors, Visitors Time Distribution, Referring Sites & URLs and 404 or Not Found.
Hosts, Reverse DNS, IP Location.
Operating Systems, Browsers and Spiders.
HTTP Status Codes
Geo Location – Continent/Country/City
Metrics per Virtual Host
Support for HTTP/2 & IPv6
Ability to output JSON and CSV
Incremental log processing and support for large datasets + data persistence
Different Color Schemes

How Do I Install GoAccess?

Presently, the most recent version of GoAccess 0.9.7 is not available from default system package repositories, so to install latest stable version, you need to manually download and compile it from source code under Linux systems as shown:

Install GoAccess from Source

- Advertisement -
pCloud Ad

# yum install ncurses-devel glib2-devel geoip-devel
# cd /usr/src
# wget http://tar.goaccess.io/goaccess-0.9.8.tar.gz
# tar zxvf goaccess-0.9.8.tar.gz
# cd goaccess-0.9.8/
# ./configure
# make; make install

Install GoAccess Using Package Manager

The easiest and preferred way to install GoAccess on Linux using the default package manager of your respective Linux distribution.

Note: As I said above, not all distributions will have the most recent version of GoAccess available in the system default repositories.

On RedHat, CentOS and Fedora

# yum install goaccess
# dnf install goaccess [From Fedora 23+ versions]

On Debian and Ubuntu Systems

GoAccess utility is available since Debian Squeeze 6 and Ubuntu 11.04. To install just run the following command on the terminal.

[php]# apt-get install goaccess[/php]

Note: The above command will not always provide you the most latest version. To get the latest stable version of GoAccess, add the official GoAccess Debian & Ubuntu repository as shown:

$ echo “deb http://deb.goaccess.io/ $(lsb_release -cs) main” | sudo tee -a /etc/apt/sources.list.d/goaccess.list
$ wget -O – http://deb.goaccess.io/gnugpg.key | sudo apt-key add –
$ sudo apt-get update
$ sudo apt-get install goaccess

How Do I Use GoAccess?

Once, goaccess is installed, execute ‘goaccess‘ command without any arguments will list the help menu.

[php]# goaccess[/php]

Sample Output

GoAccess – 0.9.8

Usage: goaccess [ options … ] -f log_file [-c][-M][-H][-q][-d][…]
The following options can also be supplied to the command:

Log & Date Format Options

–log-format= – Specify log format. Inner quotes need to
be escaped, or use single quotes.
–date-format= – Specify log date format. e.g.,
–time-format= – Specify log time format. e.g.,

User Interface Options

-c –config-dialog – Prompt log/date/time configuration
-i –hl-header – Color highlight active panel.
-m –with-mouse – Enable mouse support on main dashboard.
–color= – Specify custom colors. See manpage for
more details and options.
–color-scheme=<1|2> – Color schemes: 1 => Grey, 2 => Green.
–html-report-title= – Set HTML report page title and header.
–no-color – Disable colored output.
–no-column-names – Don’t write column names in term
–no-csv-summary – Disable summary metrics on the CSV
–no-progress – Disable progress metrics.
–no-tab-scroll – Disable scrolling through panels on TAB.

File Options

-f –log-file= – Path to input log file.
-l –debug-file= – Send all debug messages to the specified
-p –config-file= – Custom configuration file.
–invalid-requests= – Log invalid requests to the specified
–no-global-config – Don’t load global configuration

The easiest way to get the any web server statistics use the flag ‘f‘ with input log file name as shown below. The below command will give you general statistics of your web server logs.

# goaccess -f /var/log/httpd/demodomain.com
# goaccess -f /var/log/nginx/demodomain.com

The above command gives you an complete overview of web server metrics by showing summaries of various reports as panels on a one scrollable view as shown.

Apache Logs Overview


Apache Logs by Operating System – Overview


Apache Logs by Visitor Bandwidth – Overview


Apache Logs by Web Browser – Overview


How do I generate Apache HTML report?

To generate an HTML report of your Apache webserver logs, just run it against your web log file.

[php]# goaccess -f /var/log/httpd/access_log > reports.html[/php]


For more information and usage please visit http://goaccess.io/.

- Advertisement -
VoIP.Ms Ad
Previous articleHow to Set Static IP Address and Configure Network in Linux
Next articleSetting Up HTTPS with Let’s Encrypt SSL Certificate For Nginx on RHEL(CentOS) 7/6
CTO, Founder From VPS House