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. GoAccess parses the specified web log file and outputs the data to the X terminal.
It can analyze web server logs in various formats like Apache, Nginx, Amazon S3 and CloudFront, JSON, and more. It provides a variety of statistics, including the number of unique visitors, requests per second, most popular pages, and more. It also has the capability to output the statistics to HTML, JSON, and CSV formats.
GoAccess is designed to be lightweight and highly efficient, making it an ideal tool for monitoring web server traffic in real-time. It allows for easy navigation and allows for drilling down into specific metrics and data. It’s a powerful and flexible tool for web server log analysis, and it’s a popular choice among system administrators and developers.
If you encounter the below error while running the command goaccess:
goaccess: command not found
you may try installing the below package as per your choice of distribution:
Distribution | Command |
---|---|
Debian | apt-get install goaccess |
Ubuntu | apt-get install goaccess |
Alpine | apk add goaccess |
Arch Linux | pacman -S goaccess |
Kali Linux | apt-get install goaccess |
Fedora | dnf install goaccess |
OS X | brew install goaccess |
Raspbian | apt-get install goaccess |
goaccess Command Examples
1. Analyze one or more log files in interactive mode:
# goaccess path/to/logfile1 path/to/file2 ...
2. Use a specific log-format (or pre-defined formats like “combined”):
# goaccess path/to/logfile --log-format=format
3. Analyze a log from stdin:
# tail -f path/to/logfile | goaccess -
4. Analyze a log and write it to an HTML file in real-time:
# goaccess path/to/logfile --output path/to/file.html --real-time-html