GoAccess 是一款 Nginx 访问日志分析工具,通过 GoAccess 分析 Nginx 访问日志生成的报表可以帮助我们找到网站高峰的访问时段,找到请求量最高的接口,从而着手进行优化处理。
下面就来讲下如何使用 GoAccess,go access 安装很简单,
如果是 Mac os 可以直接通过 brew install goaccess安装。
如果是 Centos 系统可以执行 yum -y install goaccess 安装。
官方下载链接和安装说明https://goaccess.cc/?mod=download
编译安装
先安装依赖
yum install geoip-devel openssl-devel libmaxminddb-devel ncurses-devel bzip2-devel tokyocabinet-devel
安装 GoAccess
cd /usr/local/src
wget https://tar.goaccess.io/goaccess-1.3.tar.gz
tar -xzvf goaccess-1.3.tar.gz
cd goaccess-1.3/
./configure --enable-utf8 --enable-geoip=legacy --with-openssl --enable-tcb=memhash --with-getline
make
make install
注意: 仅仅需要依赖 ncurses 模块。
提示:如果需要使用实时 HTML 报告, 请确保开放 7890 端口。
验证安装 goaccess –v

GoAccess配置
在配置文件最后一行加入下面代码,配置文件路径:/usr/local/etc/ goaccess /goaccess.conf
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
date-format %d/%b/%Y
time-format %H:%M:%S

临时设置为中文的命令:
LANG="zh_CN.UTF-8"
goaccess -p /usr/local/etc/goaccess/goaccess.conf -f /var/log/nginx/access.log -o /usr/share/nginx/html/report.html
用浏览器打开report.html, 我们便得到了分析结果

选项解释
-f 指明目标文件
-p 按照指定配置文件格式输出,如果指定默认使用conf下面的goaccess.conf
-o 指定生成文件的格式,如json,csv等
-a 显示出useragent。Enable a list of user-agents by host
--real-time-html 实时刷新
--ws-url 绑定一个域名
GoAccess 卸载
cd goaccess-1.3
make uninstall