MENU

GoAccess 日志分析

2019 年 10 月 02 日 • 玩机

开发版 Build

# /etc/apt/sources.list.d

sudo rm -rf /var/lib/apt/lists/*
sudo rm -rf /etc/apt/sources.list.d/*
sudo apt-get update
# apt-get install libncursesw5-dev libgeoip-dev automake aclocal gettext

$ git clone https://github.com/allinurl/goaccess.git
$ cd goaccess
$ autoreconf -fiv
$ ./configure --enable-utf8 --enable-geoip=legacy
$ make
# make install

goaccess.conf 配置

# /usr/local/etc/goaccess/goaccess.conf

time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h %^[%d:%t %^]"%r" %s %b"%R""%u" 

log-format 参数解释

# https://www.fanhaobai.com/2017/06/go-access.html

%t  匹配 time-format 格式的时间字段
%d  匹配 date-format 格式的日期字段
%h  host(客户端ip地址,包括 ipv4 和 ipv6)
%r  来自客户端的请求行
%m  请求的方法
%U  URL 路径
%H  请求协议
%s  服务器响应的状态码
%b  服务器返回的内容大小
%R  HTTP 请求头的 referer 字段
%u  用户代理的 HTTP 请求报头
%D  请求所花费的时间,单位微秒
%T  请求所花费的时间,单位秒
%^  忽略这一字段 

查看 GoAccess 命令参数

$ goaccess -h
# 常用参数
-a --agent-list 启用由主机用户代理的列表。为了更快的解析,不启用该项
-d --with-output-resolver 在 HTML/JSON 输出中开启 IP 解析,会使用 GeoIP 来进行 IP 解析
-f --log-file 需要分析的日志文件路径
-p --config-file 配置文件路径
-o --output 输出格式,支持 html、json、csv
-m --with-mouse 控制面板支持鼠标点击
-q --no-query-string 忽略请求的参数部分
--real-time-html 实时生成 HTML 报告
--daemonize 守护进程模式,--real-time-html 时使用 

crontab

# 每天执行
0 0 1 * * goaccess -a -d -f /data/logs/access.log -p /etc/goaccess.conf -o /data/wwwroot/example.com/go-access.html 2> /data/logs/go-access.log

赞助博客

2016~2024 年经济学人高清 PDF 合集
赞助合集
2016~2024 年经济学人高清 PDF 合集
赞助合集