今天要介绍的GoAccess 是一款开源的且具有交互视图界面的实时 Web 日志分析工具,通过你的 Web 浏览器或者 *nix 系统下的终端程序(terminal)即可访问。
GoAccess是一个非常良心的开源软件,它的良心之处体现在如下方面:
1)安装简单;
2)操作容易;
3)界面酷炫;
GoAccess 官网 https://goaccess.io
1、完全实时
所有面板以及指标均按照指定时间间隔更新,在终端(Terminal)下是200ms,html则是每秒。
2、支持几乎所有 Web 日志格式
GoAccess 允许任意自定义日志格式。 可预定义的格式包括: Apache, Nginx, Amazon S3, Elastic Load Balancing, CloudFront, 等等
3、跟踪应用响应时间
跟踪处理请求的时间消耗。对于解决站点页面访问速度下降非常有用。
4、增长日志处理
需要持续保持数据?GoAccess 有能力处理在磁盘上以 B+Tree 数据库存储并且不断增长的日志。
5、仅依赖一个模块
GoAccess 是用 C 语言编写的。 仅仅需要 ncurses 这一个模块即可运行。同时 GoAccess 甚至还拥有自己的兼容 RFC6455 协议的 Web Socket 服务器。
6、易于使用
可以直接运行 GoAccess 去处理您的访问日志文件,仅需选取日志格式然后让 GoAccess 解析日志内容并将统计结果展示出来。
7、访客画像
可以按照小时或者指定日期确定最慢请求的访问次数,访客数量,带宽以及其他相关度量值。
8、支持虚拟主机
拥有多个虚拟主机?在控制面板中能够显示出哪一个虚拟主机消耗 Web 服务器上最多的资源。
9、配色风格可定制化
GoAccess 的配色风格十分易于定制化。无论是通过终端,还是仅仅通过简单修改 HTML 页面的层叠样式表。
官网提供多种系统版本的安装方法: https://goaccess.io/download#installation
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 make && make install
报错: *** Missing development files for the GeoIP library
解决方法:
--安装epel和remi源 yum install epel-release wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm rpm -Uvh remi-release-7.rpm yum install glib2 glib2-devel GeoIP-devel ncurses-devel zlib zlib-devel yum -y install GeoIP-update
goaccess
这里用goaccess来分析nignx 标准输出日志
goaccess -f access.log
日志格式选为 NCSA Combined Log Format
回车即可看到当前日志分析结果