7 Awesome Open Source Analytics Software For Linux and Unix

Web analytics is nothing but the measuring web traffic. It is not limited to measuring web traffic. It includes:

  1. Analysis
  2. Data collection
  3. Reporting of web data for purposes of understanding and optimizing web pages

Google Analytics is the most widely used cloud-based web analytics service. However, your data is locked into Google Eco-system. If you want 100% data ownership, try the following open source analytics software to get information about the number of visitors to your website and the number of page views. The information is useful for market research and understanding popularity trends on your website.

What the hell is a web log analysis software?

A web log analysis software (“web log analyzer”) is a kind of software that parses a Nginx/Apache/IIS/Lighttpd and any other web-server log file. It read various values contained in the log file, derives indicators about when, how, and by whom a web server is visited. You can find info about:

  • Number of visits and number of unique visitors
  • Visit duration and last visits
  • Authenticated users and last authenticated visits
  • Days of week and rush hours
  • Countries of host’s visitors
  • ISP
  • Number of page views
  • Most viewed, entry, and exit pages
  • File types (HTML/TEXT/JPG/JS/CSS etc)
  • OS used
  • Mobile devices used
  • Browsers used
  • Robots used
  • HTTP referrer
  • Search engines and keywords used to find the analyzed
  • HTTP errors
  • Some of the log analyzers also report on who is on the site, conversion tracking, visit time and page navigation

Matomo (formally known as “Piwik”) – Web analytics application

Matomo is a free and open source web analytics application written in a PHP/MySQL. It tracks online visits to one or more websites and displays reports on these visits for analysis using a web-browser. It can track if and how much people spend on a site for E-commerce purpose. The ability to set goals for actions it is desired for visitors to take such as visiting a page or buying a product. Matomo will track how many visits result in those actions being taken. A free mobile app is provided so users can access their analytics data on their phone. Matomo has many features including commercial support. I recommend this one as an alternative to Google analytics.

Operating system: Cross-platform/PHP+MySQL
Supported database: MySQL
Tracking method: JavaScript or PHP pagetag or Web log files
Licence: GPL v3
Download: https://Matomo.org/

GoAccess – Real-time web log analyzer and interactive viewer that runs in a terminal

GoAccess is a real-time Apache/Nginx/Lighttpd web log analyzer and interactive viewer that runs in a terminal and provides fast and valuable HTTP statistics for system administrators that require a visual report on the fly. This is quite useful to quickly view and analyze traffic metrics at the CLI. You can access reports via your browser too. GoAccess parses the specified web log file and outputs the data to the X terminal. GoAccess is written in C. To run it; you only need ncurses as a dependency. I love this tool and I use frequently in a terminal. You should give it a try. You will not be disappointed in this one.

Operating system: Cross-platform *nix only
Supported database: Logfile-based
Tracking method: Web log files
Licence: MIT Licensed
Download: https://goaccess.io/

See how to install and use GoAccess on Linux or Unix-like system for more info.

Open Web Analytics – Add web analytics to websites using JS, PHP or REST APIs

Open Web Analytics (OWA) is a free and open source web analytics software that you can use to track and analyze how people use your websites and applications. OWA is licensed under GPL and provides website owners and developers with easy ways to add web analytics to their sites using simple Javascript, PHP, or REST based APIs. OWA also comes with built-in support for tracking websites made with popular content management frameworks such as WordPress and MediaWiki.

Operating system: Cross-platform/PHP+MySQL
Supported database: MySQL
Tracking method: JavaScript or PHP pagetag
Licence: GPL v2.0
Download: http://www.openwebanalytics.com

Webalizer – Fast, free web server log file analysis program

Webalizer is a fast, free web server log analysis program. It is one of the most commonly used the web server administration tools. It produces highly detailed, easily configurable usage reports in HTML format, for viewing with a web browser. Is written in C and highly portable. These statistics can be viewed graphically and presented by different time frames, such as by day, hour, or month.

Operating system: Cross-platform/C
Supported database: Logfile-based
Tracking method: Web log files
Licence: GPL
Download: http://www.webalizer.org

AWStats – Generates web, streaming, ftp or mail server statistics graphically

AWStats is a free and open source software to create the web, streaming, FTP or mail server statistics, graphically. You can use this tool from the CLI or as a CGI to see all info from your log files. It works with all the main web servers, proxy, streaming, mail and FTP servers. It is written in Perl. So it can be run on almost any operating system out there.

Operating system: Cross-platform/Perl
Supported database: Logfile-based
Tracking method: Web log files
Licence: GPL
Download: http://www.awstats.org

W3Perl – Logfile analyser

W3Perl is a free and open source log file analyzer to Parse WWW / FTP / Squid / CUPS / DHCP / SSH and Mail logfiles. Doesn’t require any code to be inserted into websites. Written in Perl, W3Perl can be installed on any operating system that supports Perl. As such, it can be installed on Unix, Windows or Mac OS X. You can use the Web admin to manage it remotely. The output is stored in HTML pages, with graphics and a sortable table. Stats can be run from a single CLI or from a web browser.

Operating system: Cross-platform/Perl
Supported database: Logfile-based
Tracking method: Web log files
Licence: GPL
Download: http://www.w3perl.com

Analog (Analog C:Amie) – Logfile analyser

It is a program that analyzes log files from web servers. It runs under Windows, Mac OS, Linux, *BSD and Unix-like operating systems. It was first released on June 21, 1995, by Stephen Turne. The license was changed to the GNU General Public License in November 2004. He maintained the project until 2004, at which point he ceased to update the project. In 2007, as a long-term user of Analog and in light of the release of Windows Vista that could not be identified by Analog, C:Amie has undertaken to maintain Analog and to keep its detection current.

Operating system: Cross-platform/C
Supported database: Logfile-based
Tracking method: Web log files
Licence: GPL
Download: Analog C:Amie Edition (updated) | analog (not maintained anymore)

🐧 Get the latest tutorials on Linux, Open Source & DevOps via RSS feed or Weekly email newsletter.

🐧 9 comments so far... add one

CategoryList of Unix and Linux commands
Disk space analyzersncdu pydf
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network UtilitiesNetHogs dig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
9 comments… add one
  • Sébastien Jan 3, 2017 @ 12:44

    There are also NETDATA (https://my-netdata.io), an opensource unparalleled insights, in real-time, of everything happening on your Linux systems and applications, with stunning, interactive web dashboards and powerful performance and health alarms.

  • Robert Jan 3, 2017 @ 16:49

    I don’t think netdata does Web log analysis though.

  • Emm Jan 4, 2017 @ 5:56

    These were all quite disappointing options.

  • Gorkem Cetin Jan 4, 2017 @ 7:39

    Thanks Vivek, quite a comprehensive list. I believe open source will drive innovation and momentum in data analytics space, and will be more and more embraced by enterprises as fear, uncertainty and doubt has been something in the past. Even Microsoft has been investing on open source after several years of “fighting” – especially with Linux.

    What I would add to this list is Countly, a web and mobile analytics platform with error reporting and push notifications. It has a very beautiful interface, works with many devices and SDKs and downloadable from Github: http://github.com/countly/countly-server . We love open source too, and providing our product to the masses by contributing back.

    If you have any questions let me know please.

  • gempir Jan 5, 2017 @ 5:20

    What about grafana in combination with graphite, statsd

  • Netick Jan 11, 2017 @ 22:33

    Thanks ;) I prefer Goaccess !! For french Readers, an easy how to ;=)

  • Pawan Jan 17, 2017 @ 2:37

    Hi Vivek,
    Good Compile, however the article seems to be missing some advance centralised log management and analytics tools such as ELK, grafana, graphite, gray2log and nagios log monitoring.

  • Daniel Feb 2, 2017 @ 1:26

    You shouldn’t really be recommending that people use Piwik. It’s a really flawed platform.I mean, they can track data well enough (allthough it has serious performance issues with boith the default client-side tracking script and the serve-side response time). However, it’s a really terrible tool when it comes to generating any kind of useful reports. It’s pretty enough to look at, but the reports are presented in a bad way and much of the data can’t be combined in any sort of way.

    • Pete Feb 12, 2017 @ 21:13

      Hi Daniel, that’s not our experience with Piwik. It’s an amazing analytics tool we use on our dozens customers websites. It has hundreds of reports well organised and super powerful APIs and marketplace with additional features. You can do almost anything with Piwik including advanced segmentation etc. It’s constantly being improved as well.

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre> for code samples. Still have questions? Post it on our forum