GoAccess –实时Apache和Nginx日志分析器

GoAccess是Unix / Linux系统上用于Web服务器的实时日志分析器。 它也允许通过Web浏览器访问日志。 主要目的是允许用户提供快速的方法,以实时分析和查看Web服务器统计信息,而无需Web浏览器。

它支持大多数Web日志格式(Apache,Nginx,Amazon S3,Elastic Load Balancing,CloudFront,Caddy等)。 您只需要设置日志格式并使用即可。 GoAccess还可以生成完整的,独立的实时 HTML 报告,这对于分析,监视和数据可视化很有帮助。 它还支持 JSONCSV 报告。

本教程介绍了如何在Linux系统上安装和使用GoAccess。

安装GoAccess

大多数Linux操作系统在其官方存储库中都包含GoAccess软件包。 因此,您只需使用软件包管理器进行安装即可。

  • 基于Debian的系统:
    sudo apt-get update && sudo apt-get install goaccess -y
    
  • 基于Redhat的系统:
    yum install goaccess
    
  • Arch Linux:
    pacman -S goaccess
    

对于其他操作系统,请访问此页面以安装Goaccess。

从终端使用GoAccess

根据您使用的操作系统和Web服务器选择日志文件。 在基于Debian的系统上,日志在以下位置生成 /var/log/apache2 目录和基于Redhat的系统Apache在以下目录下创建日志 /var/log/httpd 目录。 用 -f 使用goaccess命令定义日志文件的选项。

goaccess -f /var/log/apache2/access.log

然后选择日志格式。 默认的Apache日志格式为COMBINED。

GoAccess还允许您使用以下命令定义日志格式: --log-format 命令行选项。 例如,要使用COMBINED日志格式,命令将为:

sudo goaccess /var/log/apache2/access.log --log-format=COMBINED

您将在系统控制台上看到如下输出:

带有Apache日志的GoAccess

按“ Q”退出GoAccess终端查看器。

在Web仪表板中查看GoAccess输出

GoAccess允许用户生成各种格式的报告,例如HTML,JSON和CSV。 HTML格式会生成一个html页面,其中所有数据均为可视格式。 我们可以通过在HTML文件中使用以下命令来生成报告。

让我们在下面创建一个html报告文件 /var/www/html,这是我的Apache服务器上设置的默认文档根目录。 以下命令将生成html报告:

sudo goaccess /var/log/apache2/access.log --log-format=COMBINED -a -o /var/www/html/report.html
  • -一种 –按主机启用用户代理列表
  • -o –用于定义输出文件
  • 根据输出文件扩展名自动选择输出格式

接下来,使用服务器IP地址或域名访问report.html。

GoAccess Web仪表板

向下滑动至网页以显示更多信息。

自动更新Web仪表板文件

您可以安排goaccess命令定期更新html报告。 创建具有以下内容的shell脚本:

/opt/goaccess.sh:

#!/ bin / bash sudo goaccess /var/log/apache2/access.log –log-format = COMBINED -a -o /var/www/html/report.html

12#!/ bin / bashsudo goaccess /var/log/apache2/access.log –log-format = COMBINED -a -o /var/www/html/report.html

然后使用crontab安排上述脚本:

sudo crontab -e

将以下内容添加到文件末尾

#Cron job to update Goaccess HTML repot
* * * * * /opt/goaccess.sh

保存crontab并关闭。

结论

在本教程中,您学习了GoAccess实用程序,该实用程序以可视格式查看Web服务器日志。

Sidebar