GoAccess工具是开源且提供交互试图界面的实时web日志分析工具,可以用web浏览器等方式访问。常常被系统管理者用来统计HTTP相关有价值的信息,通过在线可视化服务器的方式查看更直观快速找到所需资源。
下面以ubuntu 16.04系统中,nginx1.10.3日志环境下GoAccess工具的使用实例分享。Nginx可用apt-get方式安装,日志格式为默认:
$ apt-get install gcc g++ libncursesw5-dev
$ wget http://tar.goaccess.io/goaccess-1.2.tar.gz
$ http://tar.goaccess.io/goaccess-1.2.tar.gz
$ tar -xzvf goaccess-1.2.tar.gz
$ cd goaccess-1.2/
$ ./configure --enable-utf8
$ make # make install
配置相关文件:
vim ~/.goaccessrc
time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
修改crontab:
$ vim /etc/crontab
* * * * * root goaccess -a -d -f /var/log/nginx/access.log -p /root/.goaccessrc -o /var/www/index.html
GoAccess主要特点是快速、实时、毫秒/秒更新,用C语言编写。只需ncurses作为依赖项,支持大部分web日志格式如Apache、Nginx、Amazon S3、Elastic Load Balancing、CloudFront、Caddy 等。只要设置好日志格式并只针对用户日志运行。非常适合通过SSH快速分析访问日志或者只在终端工作的用户。
当前最新的GoAccess v1.9.3把常见的机器人添加到列表中,还配置了选项来启用地址清理器去调试,修复了JSON密钥解析也解决了重复计数回归和越界访问问题。安装:
$ wget https://tar.goaccess.io/goaccess-1.9.3.tar.gz
$ tar -xzvf goaccess-1.9.3.tar.gz
$ cd goaccess-1.9.3/
$ ./configure --enable-utf8 --enable-geoip=mmdb
$ make
# 安装
可能需要安装构建工具gcc,如autoconf、、等gettext,autopoint以便从源代码编译/构建软件。例如,、、base-devel。build-essential信息 :"Development Tools"如果输出实时 HTML,请确保端口 7890 已打开。
如果下多个选项配置GoAccess,获取最新完整配置选项列表,运行:
./configure --help