install goaccess log analyzer in ubuntu

How to Install GoAccess Log Analyzer in Ubuntu

GoAccess is an open source, free web log analyzer that provides real-time analysis via web browser. It is fast and consumes very little memory. GoAccess is very popular and used by many website administrators around the world. In this article, we will look at how to install GoAccess Log Analyzer in Ubuntu.


How to Install GoAccess Log Analyzer in Ubuntu

Here are the steps to install GoAccess Log Analyzer in Ubuntu.


1. Update System

Open terminal and run the following commands to update Ubuntu system.

$ sudo apt-get update -y


2. Install GoAccess

GoAccess it not present in Ubuntu repository. You need to add its repository to your system with the following command.

First we download & add GPG key with the following command.

$ sudo wget -O - https://deb.goaccess.io/gnugpg.key | apt-key --keyring /etc/apt/trusted.gpg.d/goaccess.gpg add -

Next, we add GoAccess repository with the following command.

$ sudo echo "deb http://deb.goaccess.io/ $(lsb_release -cs) main" | tee -a /etc/apt/sources.list.d/goaccess.list

After the repository is added, run the following command to install GoAccess.

$ sudo apt-get update -y
$ sudo apt-get install goaccess -y


3. Launch GoAccess

You can launch GoAccess from terminal by supplying the full path to your server log. In our example, we will use GoAccess to analyze Apache server log.

$ sudo goaccess /var/log/apache2/access.log --log-format=COMBINED

It will automatically parse the log file and display the results in a neat format.

Dashboard - Overall Analyzed Requests (29/Jun/2021 - 29/Jun/2021)                               [Active Panel: Visitors]

  Total Requests  16 Unique Visitors  6  Unique Files 1 Referrers 0
  Valid Requests  16 Init. Proc. Time 0s Static Files 1 Log Size  4.44 KiB
  Failed Requests 0  Excl. IP Hits    0  Unique 404   2 Bandwidth 30.91 KiB
  Log Source      /var/log/apache2/access.log

 > 1 - Unique visitors per day - Including spiders                                                         Total: 1/1

 Hits      h% Vis.      v%   Bandwidth Data
 ---- ------- ---- ------- ----------- ----
 16   100.00%    6 100.00%   40.91 KiB 29/Jun/2021 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||


   2 - Requested Files (URLs)                                                                              Total: 1/1

 Hits      h% Vis.      v%   Bandwidth Mtd Proto    Data
 ---- ------- ---- ------- ----------- --- -------- ----
 6    100.00%    5 100.00%   20.62 KiB GET HTTP/1.1 /


   3 - Static Requests                                                                                     Total: 1/1

 Hits      h% Vis.      v%   Bandwidth Mtd Proto    Data
 ---- ------- ---- ------- ----------- --- -------- ----
 [?] Help [Enter] Exp. Panel  0 - Thu Jun 29 11:29:56 2021

Since the result contains a lot of information, you will need a few shortcuts to navigate the interface. Here are the shortcuts you can use.

F5 : Refresh the dashboard
G : Move to the last item in the dashboard and use g to move to the top of the dashboard
j and k : Scroll up and down
s : Display sort options for the active module
? : Display help information
TAB : Move forward
q : Exit from the program

The output contains different sections containing different metrics. You may also use the following shortcuts to directly jump to relevant sections.

1 - display unique visitors, bandwidth, and total hits per day
2 - display most frequently requested non-static files
3 - display information about static files such as images, CSS, JavaScript
4 - display path not found URLs
5 - display hostname and IP address of the visitor
6 - display information of the operating system used by hosts
7 - display information of each unique visitor
8 - display hourly information of the number of hits, unique visitors, and bandwidth consumed


4. View web report

The above report is displayed in terminal. If you want to view an HTML, JSON, CSV report that can be accessed via web browser, run the following command

$ sudo goaccess /var/log/apache2/access.log --log-format=COMBINED -a -o /var/www/html/report.html

After you run the above command, open web browser and visit http://your-domain-or-ip/report.html. You will see the following kind of page.

install goaccess log analyzer ubuntu

That’s it. In this article, we have learnt how to install GoAccess Log Analyzer in Ubuntu.

Also read:

How to Check Python Package Version
How to Install Go (Golang) in Ubuntu
How to Extract Substring from String in Ubuntu
How to Split String into Array in Shell Script
How to Check if String Contains Substring in Bash

Leave a Reply

Your email address will not be published.