GoAccess screenshot thumbnail

GoAccess

GoAccess processes millions of web log entries in seconds and renders the results as interactive dashboards that update every 200 milliseconds in the terminal or every second via WebSocket-connected HTML reports. Written entirely in C with only ncurses as a dependency, it achieves exceptional performance even on resource-constrained servers, reducing memory usage by approximately 20% and parsing time by 35% in recent releases through optimized in-memory hash tables with on-disk persistence support. The analyzer parses virtually every web log format out of the box (Apache Combined and Common, Nginx, Amazon CloudFront, Amazon S3, AWS Elastic Load Balancing, Google Cloud Storage, Squid, W3C IIS, Caddy JSON, and Traefik) while supporting fully custom log format strings for non-standard configurations. The self-contained HTML dashboard displays 15+ interactive panels covering unique visitors, requested files, static files, 404 errors, referring sites, search keyphrases, geographic location with city-level GeoIP resolution, operating systems, browsers, HTTP status codes, time distribution, and virtual host metrics. WebSocket authentication via JWT provides secure remote access, and incremental log processing ensures data continuity across daemon restarts. Docker deployment requires a single command with volume-mapped access logs. Over 20,800 stars with active development since 2010. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.

Deploy