使用GoAccess分析WEB日志的教程 南昌鸿图建站公司

WEB日志在网站运行中有着不可或缺的作用,它可以用以记录详细访问信息、来访者信息、搜索引擎爬虫信息和错误信息等。通过分析,网站管理员可以迅速的找出一些有价值的重要信息,例如存在哪些404错误,经常被访问的URL是哪些,页面的相应时间、SEO优化效果等。

本文介绍的WEB日志分析工具为,具体核心功能如下:

  • 完全实时
    面板和指标的时间都定在终端输出上每 200 ms 更新一次,在 HTML 输出上每秒钟更新一次。
  • 最小配置
    需要你可以只是运行它针对您的访问日志文件,选择日志格式,让 GoAccess 分析访问日志,并向您展示统计数据。
  • 跟踪应用程序响应时间
    跟踪为请求服务所用的时间。如果您想要跟踪正在减慢网站速度的页面,非常有用。
  • 几乎所有 Web 日志格式 GoAccess
    都允许任何自定义日志格式字符串。预定义选项包括,Apache、Nginx、Amazon S3、弹性负载平衡、云前等。
  • 增量日志处理
    需要数据持久性?GoAccess 能够通过磁盘上持久性选项增量处理日志。
  • 只有一个依赖
    项 GoAccess 用 C 编写。要运行它,只需要 ncurs 作为依赖项。
  • 访问者
    确定按小时或日期显示运行速度最慢的请求的点击量、访问者、带宽和指标。
  • 每个虚拟主机的指标
    具有多个虚拟主机(服务器块)?它具有一个面板,显示哪个虚拟主机正在消耗大部分 Web 服务器资源。
  • 配色方案可
    定制定制 GoAccess,以适合您自己的颜色品味/方案。通过终端,或者简单地在 HTML 输出上应用样式表。
  • 对大型数据集
    GoAccess 的支持具有分析大型日志的功能,因为它优化了内存中的哈希表。它具有非常好的内存使用和相当不错的性能。此存储还支持磁盘上持久性。
  • Docker 支持
    功能,从上游构建 GoAccess 的 Docker 映像。使用”卷”映射和编辑,您仍然可以完全配置它。

GoAccess安装方法

使用SSH工具登陆服务器,在Linux命令行状态下:

$ wget https://tar.goaccess.io/goaccess-1.4.3.tar.gz
$ tar -xzvf goaccess-1.4.3.tar.gz
$ cd goaccess-1.4.3/
$ ./configure --enable-utf8 --enable-geoip=legacy
$ make
# make install

如果执行到第4步,出现问题,提示“Missing development files for the GeoIP library”的话,需要安装GeoIP。

GeoIP安装方法如下:

$ 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

CentOS系统可以直接使用以下命令安装GoAccess(但有可能安装旧版本):

yum install goaccess

GoAccess使用方法

要输出到终端并生成交互式报告:

# goaccess access.log
 --log-format=COMBINED

其中access.log替换成自己的WEB日志文件路径与文件名,示例:

# goaccess /www/wwwlogs/aaa.log --log-format=COMBINED

输出:

goaccess报告示例

可以使用上下键查看完整包括,Q键退出。

另外还可以输出HTML文件,可使用浏览器查看,具体命令如下:

# goaccess /www/wwwlogs/aaa.log --log-format=COMBINED > /www/wwwroot/aa.html

注意修改/www/wwwroot/aa.html路径和文件名。生成成功后,在浏览器中访问该html文件即可查看报告,如下图:

GoAccess生成HTML报告示例

如果只分析爬虫,可以使用--crawlers-only参数,示例:

# goaccess /www/wwwlogs/aaa.log --log-format=COMBINED --crawlers-only > /www/wwwroot/aa.html

如果HTML报告需要实时更新,可使用--real-time-html参数,示例:

# goaccess /www/wwwlogs/aaa.log --log-format=COMBINED --real-time-html > /www/wwwroot/aa.html

常见问题:

1、分析报告不希望被别人查看,怎么办?

在网站根目录下创建一个子目录,存放HTML报告,并将该子目录设置访问权限。以宝塔面板为例:“网站 》设置 》目录保护”

宝塔面板设置目录保护

2、多个日志文件怎么生成报告

goaccess命令行支持多个日志文件传入:

# goaccess access1.log access2.log
  --log-format=COMBINED

3、自定义刷新HTML报告的时间

使用--html-refresh=<seconds>参数,seconds的数值单位为秒,默认刷新时间为1秒。

GoAccess详细使用手册请查看: