使用 GoAccess 分析 nginx 日志¶
对于繁忙的 DHIS 2 实例,了解哪些 URL 最常被请求、一天中的什么时间最繁忙以及您的用户来自哪里非常有用。 GoAccess 是一个工具,可让您分析 nginx(或 Apache)访问日志以收集此类统计信息。
要在 Ubuntu 上安装最新的 GoAccess 版本,您可以添加官方存储库并使用 apt-get 安装,如下所示:
wget -O - https://deb.goaccess.io/gnugpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/goaccess.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/goaccess.gpg] https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/goaccess.list
sudo apt-get update
sudo apt-get install goaccess
要为 nginx(或 Apache)配置 GoAccess,您只需取消注释 GoAccess 配置文件中的一些设置:
sudo vi /etc/goaccess/goaccess.conf
您需要取消注释的设置如下:
时间格式 %T
日期格式%d/%b/%Y
日志格式 %h %^[%d:%t %^] "%r"%s %b "%R" "%u"
nginx 访问日志文件通常包含最近 2-4 天的日志输出,因此从实时 Web 服务器复制 access.log 文件并在本地计算机上分析它可以让您很好地了解正在发生的情况。
要根据 nginx 访问日志文件生成 HTML 报告,只需调用 GoAccess 并将输出重定向到文件:
goaccess /var/log/nginx/access.log -o report.html --log-format=COMBINED
在您最喜欢的 Web 浏览器中打开 report.html。您现在可以查看多种类型的有用统计信息,包括最常请求的 URL、您的用户来自哪里、最常用的 Web 浏览器和操作系统等。

提示
GoAccess 的最新版本允许您附加到结果并维护访问统计的历史记录。
例如:
goaccess /var/log/nginx/access.log -o report.html --log-format=COMBINED --restore --persist --db-path /path/to/goaccess/db/