You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
4.0 KiB
101 lines
4.0 KiB
7 months ago
|
What is it?
|
||
|
-------------
|
||
|
GoAccess is an open source real-time web log analyzer and interactive viewer
|
||
|
that runs in a terminal in *nix systems or through your browser.
|
||
|
|
||
|
It provides fast and valuable HTTP statistics for system administrators that
|
||
|
require a visual server report on the fly.
|
||
|
|
||
|
Features
|
||
|
-------------------------------
|
||
|
GoAccess parses the specified web log file and
|
||
|
outputs the data to the X terminal. Features include:
|
||
|
|
||
|
* Completely Real Time
|
||
|
All panels and metrics are timed to be updated every 200 ms on the terminal
|
||
|
output and every second on the HTML output.
|
||
|
|
||
|
* No configuration needed
|
||
|
You can just run it against your access log file, pick the log format and
|
||
|
let GoAccess parse the access log and show you the stats.
|
||
|
|
||
|
* Track Application Response Time
|
||
|
Track the time taken to serve the request. Extremely useful if you want to
|
||
|
track pages that are slowing down your site.
|
||
|
|
||
|
* Nearly All Web Log Formats
|
||
|
GoAccess allows any custom log format string. Predefined options include,
|
||
|
Apache, Nginx, Amazon S3, Elastic Load Balancing, CloudFront, etc
|
||
|
|
||
|
* Incremental Log Processing
|
||
|
Need data persistence? GoAccess has the ability to process logs incrementally
|
||
|
through the on-disk B+Tree database.
|
||
|
|
||
|
* Only one dependency
|
||
|
GoAccess is written in C. To run it, you only need ncurses as a dependency.
|
||
|
That's it. It even has its own Web Socket server - http://gwsocket.io/.
|
||
|
|
||
|
* Visitors
|
||
|
Determine the amount of hits, visitors, bandwidth, and metrics for slowest
|
||
|
running requests by the hour, or date.
|
||
|
|
||
|
* Metrics per Virtual Host
|
||
|
Have multiple Virtual Hosts (Server Blocks)? A panel that displays which
|
||
|
virtual host is consuming most of the web server resources.
|
||
|
|
||
|
* Color Scheme Customizable
|
||
|
Tailor GoAccess to suit your own color taste/schemes. Either through the
|
||
|
terminal, or by simply updating the stylesheet on the HTML output.
|
||
|
|
||
|
* Support for large datasets
|
||
|
GoAccess features an on-disk B+Tree storage for large datasets where it is not
|
||
|
possible to fit everything in memory.
|
||
|
|
||
|
* Docker support
|
||
|
GoAccess comes with a default Docker (https://hub.docker.com/r/allinurl/goaccess/)
|
||
|
that will listen for HTTP connections on port 7890. Although, you can still
|
||
|
fully configure it, by using Volume mapping and editing goaccess.conf.
|
||
|
|
||
|
* and more... visit https://goaccess.io for more details.
|
||
|
|
||
|
|
||
|
Why GoAccess?
|
||
|
-------------
|
||
|
GoAccess was designed to be a fast, terminal-based log analyzer. Its core idea
|
||
|
is to quickly analyze and view web server statistics in real time without
|
||
|
needing to use your browser (great if you want to do a quick analysis of your
|
||
|
access log via SSH, or if you simply love working in the terminal).
|
||
|
|
||
|
While the terminal output is the default output, it has the capability to
|
||
|
generate a complete real-time HTML report, as well as a JSON, and CSV report.
|
||
|
|
||
|
You can see it more of a monitor command tool than anything else.
|
||
|
|
||
|
Keys
|
||
|
----
|
||
|
The user can make use of the following keys:
|
||
|
|
||
|
* ^F1^ or ^h^ Main help,
|
||
|
* ^F5^ Redraw [main window],
|
||
|
* ^q^ Quit the program, current window or module,
|
||
|
* ^o^ or ^ENTER^ Expand selected module,
|
||
|
* ^[Shift]0-9^ Set selected module to active,
|
||
|
* ^Up^ arrow Scroll up main dashboard,
|
||
|
* ^Down^ arrow Scroll down main dashboard,
|
||
|
* ^j^ Scroll down within expanded module,
|
||
|
* ^k^ Scroll up within expanded module,
|
||
|
* ^c^ Set or change scheme color,
|
||
|
* ^CTRL^ + ^f^ Scroll forward one screen within,
|
||
|
* active module,
|
||
|
* ^CTRL^ + ^b^ Scroll backward one screen within,
|
||
|
* active module,
|
||
|
* ^TAB^ Iterate modules (forward),
|
||
|
* ^SHIFT^ + ^TAB^ Iterate modules (backward),
|
||
|
* ^s^ Sort options for current module,
|
||
|
* ^/^ Search across all modules,
|
||
|
* ^n^ Find position of the next occurrence,
|
||
|
* ^g^ Move to the first item or top of screen,
|
||
|
* ^G^ Move to the last item or bottom of screen,
|
||
|
|
||
|
Examples can be found by running `man goaccess`.
|