任何系统管理员的主要任务之一都是查看和分析日志文件。来自 Apache 和 Nginx 的 Web 服务器日志文件会随着时间的推移而积累起来,检查它们可是一项冗长而耗时的工作。值得庆幸的是,GoAccess 可以减轻所有这些压力,并使您能够无缝地监视和分析 web 服务器日志文件。
GoAccess 是一个基于终端的实时 Web 日志分析仪。用 C 语言编写,它是快速,互动的,并以优雅而直观的方式显示日志。它提供了各种 Web 日志文件的支持,包括 Apache,Nginx,Caddy,Amazon S3 和 CloudFront,仅提及几个。它可以以 HTML 格式,JSON 渲染结果,还可以生成 CSV 报告。
在本指南中,我们将关注如何安装 GoAccess 并使用它来分析 Apache 和 Nginx Web 服务器的实时日志。
GoAccess 允许您查看以下日志指标:
- Daily unique visitors
- Requested files
- Static requests ( jpg, pdf, png, mp4, avi, etc)
- Not found (404) requests
- Visitors’ hostname and IP details
- Visitor’s Operating system & browser details
- Geo Location
如何安装 GoAccess
在 Linux 系统上安装 GoAccess 主要有两种方法。可以从源代码构建,也可以使用发行版的包管理器。让我们看看如何同时做到这两件事。
在各种发行版上安装 GoAccess
在 Ubuntu / Debian 上安装
$ sudo apt install -y goaccess
在 RHEL / CentOS 上安装
$ sudo yum install -y goaccess
or$ sudo dnf install -y goaccess
在 Fedora 上安装
$ sudo dnf install goaccess -y
在 Arch Linux 上安装
$ sudo pacman -S goaccess
对于其他发行版,例如 opensuse 或者 freebsd,请到官方下载 GoAccess download link
从源码安装 GoAccess
要从源代码安装,首先,使用 wget 命令下载 GoAccess tar ball 文件
$ wget https://tar.goaccess.io/goaccess-1.4.6.tar.gz
使用以下 tar 命令提取 tarball 文件
$ tar -xvf goaccess-1.4.6.tar.gz
然后,转到该目录并从源代码进行构建,如下所示
$ cd goaccess-1.4.6/
$ ./configure --enable-utf8 --enable-geoip=mmdb
$ make
# make install
验证安装
要确认 GoAccess 已经安装,运行如下命令
$ goaccess
这将显示命令用法和命令选项,如下所示
您还可以查看 GoAccess 的版本,如下所示
$ goaccess --version
监视实时 Apache 和 Nginx 日志
安装 GoAccess 后,下一步就是监控 web 日志文件。在本例中,我们安装了 Apache web 服务器,我们将监视 access.log 文件,以查看客户机如何从浏览器与 web 服务器交互的统计数据。
-f 选项允许您在命令行上实时查看日志
$ goaccess -f /var/log/apache2/access.log --log-format=COMBINED
Web 服务器的日志统计将打印在终端上,包括总请求、有效请求、有效访问者、唯一文件等等。
向下滚动以查看其他 Web 服务器统计信息,例如404请求,访问者主机名和 IP 地址。
在这里,我们有关于操作系统和 web 浏览器的统计数据,访问者从这些浏览器访问 web 服务器。
要监视 Nginx 日志,使用与监视 Apache 日志相同的方法。只需切换到 root 用户并运行下面的命令。
# goaccess -f /var/log/nginx/access.log --log-format=COMBINED
这里,我们正在监视 Nginx web 服务器的 access.log 文件
通过 web 仪表板查看日志输出
您还可以通过重定向 html 文件中的输出,在优雅而直观的仪表板上呈现 web 服务器日志。这里我们将输出文件指定为 reports.html
$ goaccess -f /var/log/apache2/access.log --log-format=COMBINED > reports.html
接下来,打开 web 浏览器并浏览文件的位置,它将立即在漂亮的仪表板中显示日志,如图所示。
文章总结
GoAccess 是一个有用的工具,它可以让你了解网站服务器与访问者之间的互动。它可以让你获得关于访问者与你的网站交互的大量详细信息,这对获得更广泛的受众和改善用户体验是有用的。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。