说到web服务器就不得不说Nginx,目前已成为企业建站的首选。但由于种种历史原因,Nginx日志分析工具相较于传统的apache、lighthttp等还是少很多。
今天就和大家分享一个非常强大的实时日志分析工具,它安装简单,功能强大,支持Nginx日志格式,是新一代互联网企业手中又一犀利武器!
GoAccess是一个实时的Apache / Nginx / Lighttpd Web日志分析器和交互式查看器,可在终端中运行,能为系统管理员提供快速且有价值的 HTTP 统计,并以在线可视化服务器的方式呈现。GoAccess功能特征
GoAccess解析指定的Web日志文件并将数据输出到X终端。功能包括:
- 完全实时,所有面板和指标定时在终端输出上每200 ms更新一次,在HTML输出上每秒更新一次。
- 跟踪应用程序响应时间,如果您想跟踪减慢网站速度的网页,会非常有用。
- 支持几乎所有Web日志格式, GoAccess允许任何自定义日志格式字符串。
- 支持增量日志处理,GoAccess能够通过磁盘上的B + Tree数据库逐步处理日志,保持数据持久性。
- 可定制配色方案,Tailor GoAccess以适合您自己的色彩品味/方案。
- 支持大型数据集,GoAccess 为大型数据集提供磁盘B +树存储,无法将所有内容都安装在内存中。
- Docker支持,能够从上游构建GoAccess的Docker镜像。
GoAccess被设计成一个基于终端的快速日志分析器。实时快速分析和查看Web服务器统计信息,无需使用你的浏览器。虽然终端输出是默认输出,但它能够生成完整的,自包含的实时HTML 报告,以及JSON和 CSV报告。
官网传送门:https://goaccess.io/
在Linux上使用Nginx安装GoAccess
- 在Ubuntu Linux上安装GoAccess
$ sudo apt-get install goaccess
- 在Debian Linux上安装GoAccess
$ sudo apt-get install goaccess
- 在CentOS Linux上安装GoAccess
首先打开EPEL repo并输入以下yum命令:
$ sudo yum install epel-release
$ sudo yum install goaccess
- 使用源代码方法安装GoAccess
输入以下命令以在类Unix系统上下载和编译GoAccess:
$ cd /tmp
$ wget http://tar.goaccess.io/goaccess-1.2.tar.gz
$ tar -zxvf goaccess-1.2.tar.gz
$ cd goaccess-1.2/
$ ./configure --enable-utf8 --enable-geoip=legacy && make
$ sudo make install
GoAccess常用语法
goaccess -f /path/to/nginx/access.log
goaccess -f /path/to/apache/access.log
goaccess -f /path/to/lighttpd/access.log
goaccess -f /path/to/lighttpd/access.log /path/to/lighttpd/access.log.1
zcat /path/to/nginx/access.log.*.gz | goaccess access.log -
goaccess [options] /path/to/lighttpd/access.log
GoAccess实践
如何通过实时报告在屏幕上看到输出?
goaccess -f /var/log/nginx/access.log
置日志文件的日志格式
在屏幕上查看交互式报告,报告如下:
如何生成HTML报告?
语法为:
goaccess -f /var/log/nginx/access.log --log-format=COMBINED -o www.lovelinux.com.log.htm