GoAccess 是一款开源实时终端日志分析工具,支持 Apache/Nginx 日志解析、交互式界面与 HTML 报表导出;需配置日志/时间格式,可实时监控或生成静态/动态报表。

GoAccess 是一款开源、实时、终端友好的日志分析工具,特别适合快速查看 Apache(或 Nginx)访问日志的统计概览。它无需数据库、不依赖 Web 服务,一条命令就能启动交互式分析界面,也支持导出 HTML 报表供团队共享。
安装 GoAccess(主流系统)
确保系统已安装 gcc 和 ncurses 开发库(用于终端界面):
-
Ubuntu/Debian:
sudo apt update && sudo apt install goaccess -
CentOS/RHEL 8+:
sudo dnf install epel-release && sudo dnf install goaccess -
macOS(Homebrew):
brew install goaccess -
源码编译(推荐最新版): 下载源码后执行
./configure --enable-utf8 --enable-geoip=legacy,再make && sudo make install
确认 Apache 日志格式并配置 GoAccess
GoAccess 默认识别 Common Log Format(CLF),即:%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"
如果你的 apache2.conf 或 vhost 中使用了自定义格式(如含响应时间、X-Forwarded-For),需手动指定解析规则。
常用配置方式:
- 创建配置文件
~/.goaccessrc,写入:log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"date-format %d/%b/%Ytime-format %H:%M:%S - 或直接在命令中传参(适合临时调试):
goaccess access.log --log-format='%h %^[%d:%t %^] "%r" %s %b "%R" "%u"' --date-format='%d/%b/%Y' --time-format='%H:%M:%S'
实时监控与交互式分析
运行以下命令即可进入实时滚动分析界面(按 q 退出,F1 查帮助):
将 WCAG 2 AA 无障碍标准应用于设计系统、UI 组件和网页——通过可运行的验证器进行对比度计算,采用设计 token 模式使颜色天生可访问,设定排版和焦点状态规则,并提供语义检查清单。适用于构建或审查 UI。
goaccess /var/log/apache2/access.log -c关键操作提示:
- -c:启动交互式色彩终端界面(默认启用)
- --real-time-html:搭配 --output 可生成可自动刷新的 HTML 页面(需配合 --ws-url 启动 WebSocket 服务)
- 界面中按数字键切换模块(1=概览,2=请求URL,3=访客IP,4=用户代理,5=状态码…)
- 按 o 可展开/折叠子项;按 t 切换时间线视图;按 / 搜索关键词
一键生成静态 HTML 报表(适合汇报/归档)
生成带完整图表和交互能力的单页 HTML 报告:
goaccess /var/log/apache2/access.log -o report.html --log-format=COMBINED常用增强选项:
-
--real-time-html:让 HTML 页面每秒自动拉取新日志(需同时加 --ws-url=ws://localhost:7890 并后台运行
goaccess --port=7890) - --geoip-database=/usr/share/GeoIP/GeoLiteCity.dat:启用地理信息(需提前下载 GeoLite City 数据库)
- --agent-list:显示完整 User-Agent 列表(默认只显示前10)
- --ignore-crawlers:过滤常见爬虫流量,聚焦真实用户
生成的 report.html 可直接用浏览器打开,支持筛选、排序、导出 CSV,无需服务器环境。

















