装置
应用编译装置的形式
$ wget http://tar.goaccess.io/goaccess-1.2.tar.gz
$ tar -xzvf goaccess-1.2.tar.gz
$ cd goaccess-1.2/
$ ./configure --prefix=/usr/local/goaccess --enable-utf8 --enable-geoip=legacy --with-openssl
$ make
# make install
编译时会遇到两个问题
Q1: configure: error: * Missing development files for the GeoIP library
这是 geaccess 依据来访 ip 定位的库,如果没按的话,会报以上谬误。解决如下:
$ wget https://github.com/maxmind/geoip-api-c/releases/download/v1.6.11/GeoIP-1.6.11.tar.gz
$ tar -xzvf GeoIP-1.6.11.tar.gz
$ cd GeoIP-1.6.11
$ ./configure
$ make
# make install
如果须要
Q2: configure: error: * Missing development libraries for ncursesw
启用 --enable-utf8
后,须要装置 ncursesw
$ sudo apt-get install libncursesw5-dev
增加软连贯
$ sudo ln -s /usr/local/goaccess/bin/goaccess /usr/local/bin/goaccess
测试胜利
$ goaccess --v
GoAccess - 1.2.
For more details visit: http://goaccess.io
Copyright (C) 2009-2016 by Gerardo Orellana
配置
将 /usr/local/goaccess/etc/goaccess.conf
文件中的以下配置勾销正文,这一步的目标是为了适配 Nginx 日志格局
time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
接下来就能够应用了。
应用
输入到终端且生成一个可交互的报告:
goaccess access.log
生成一份 HTML 报告:
goaccess access.log -a -o report.html
反对实时解析和过滤。例如:须要通过监控实时日志来疾速诊断问题:
tail -f access.log | goaccess -
如果没有配置 goaccess.conf 也能够在命令时追加 --time-format='%H:%M:%S' --date-format='%d/%b/%Y' --log-format=COMBINED
来设定
指定日期到当初($ 文件开端)的日志信息,日志中需存在此工夫
sed -n '/26\/Apr\/2020/,$ p' access.log | goaccess -a -
查看指定日期工夫到当初($ 文件开端)的日志信息,日志中需存在此工夫
sed -n '/26\/Apr\/2020:15:11:17/,$ p' access.log | goaccess -a -
如果你放心 goaccess 占用服务器资源,你也能够本机用过 ssh 剖析日志
ssh root@server 'cat /home/wwwlogs/access.log' | goaccess -a -
更多用法
PS:
- goaccess 手册中有具体的参数阐明请仔细阅读;
- 如果不想装 goaccess,能够参考这篇文章应用 https://www.cnblogs.com/coolw…
参考文章
https://www.goaccess.cc/
https://www.cnblogs.com/zkfop…
https://segmentfault.com/a/11…