Fork me on GitHub

What is it?

GoAccess is an open source real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems. It provides fast and valuable HTTP statistics for system administrators that require a visual server report on the fly.

web log analyzer - goaccess
Alternative Outputs


GoAccess parses the specified web log file and outputs the data to the X terminal.

  • General statistics, bandwidth, etc.
  • Time taken to serve the request (useful to track pages that are slowing down your site)
  • Metrics for cumulative, average and slowest running requests
  • Top visitors
  • Requested files & static files
  • 404 or Not Found
  • Hosts, Reverse DNS, IP Location
  • Operating Systems
  • Browsers and Spiders
  • Referring Sites & URLs
  • Keyphrases
  • Geo Location - Continent/Country/City
  • Visitors Time Distribution
  • HTTP Status Codes
  • Metrics per Virtual Host
  • Ability to output JSON and CSV
  • Tailor GoAccess to suit your own color taste/schemes
  • Incremental log processing
  • Support for large datasets + data persistence
  • Support for HTTP/2 & IPv6
  • and more...
Nearly all web log formats...

GoAccess allows any custom log format string. Predefined options include, but not limited to:

  • Amazon CloudFront (Download Distribution).
  • AWS Elastic Load Balancing
  • Apache/NGINX Common/Combined + VHosts
  • Google Cloud Storage
  • W3C format (IIS)

Why GoAccess?

The main idea behind GoAccess is being able to quickly analyze and view web server statistics in real time without having to generate an HTML report (great if you want to do a quick analysis of your access log via SSH).

Although it is possible to generate an HTML, JSON, CSV report, by default it outputs to a terminal.

You can see it more of a monitor command tool than anything else.

What people are saying


@stuart_ca This should get only 500s: awk '$9~/500/' /var/log/apache2/access.log | goaccess


@goaccess another silly question, is it possible to use GoAccess to generate a list of pages that have returned a HTTP 500?


@r3cznIk Try running `goaccess --dcf` to see the actual path of the config file.


GoAccess - Visual Web Log Analyzer, an open source real-time web log analyzer and interactive viewer … #IT日常


@goaccess I did it; but for some reason goaccess did't read from default config (from etc), I had to use -p on CentOS and Ubuntu


Latest stable release 0.9.7 - 2015-12-21

Download v0.9.7