帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 如何使用GoAccess分析Apache日志文件

如何使用GoAccess分析Apache日志文件

发布时间:2019年12月20日 10:04:52    来源: A5互联

为了服务器更加安全,我们需要了解更多的系统信息。有时这些信息可能与安全性没有直接关系,有时又可能有。例如:Apache web服务器。有一个名为access.log的文件,它显示关于web服务器运行情况的重要信息。

log文件存储关于在Apache web服务器上发生的事件的信息。这些信息包括访问者的IP地址、浏览的页面、状态码、使用的浏览器等等。

但是梳理基于文本的日志文件可能很麻烦,尤其是当管理任务堆积如山的时候。为此,你会怎么做?你可以使用GoAccess这样的工具。

GoAccess是一个终端和基于web的实时仪表板,用于读取Apache access.log文件。我将向您介绍在运行Apache 2的Ubuntu服务器19.10上安装GoAccess的过程。

准备工作:

使GoAccess在您的系统上运行所需的唯一操作如下:

1、已安装Apache 2的Ubuntu Server的运行实例

2、具有sudo访问权限的用户帐户

一、如何安装依赖项

首先要做的是安装必要的依赖项。为此,请打开一个终端窗口并发出以下命令:

sudo apt-get install libncursesw5-dev gcc make libgeoip-dev libtokyocabinet-dev build-essential -y

完成之后,就可以安装GoAccess了。

二、如何安装GoAccess

要安装GoAccess,请使用以下命令下载必要的tar文件:

wget http://tar.goaccess.io/goaccess-1.3.tar.gz

使用以下命令解压缩文件:

tar xvzf goaccess-1.3.tar.gz

使用以下命令进入新创建的目录:

cd goaccess-1.3

使用以下命令安装:

sudo ./configure --enable-utf8 --enable-geoip=legacy

sudo make

sudo make install

三、如何运行GoAccess

现在,我们将在终端中运行GoAccess。为此,发出命令:

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

现在,您应该看到GoAccess在终端中的access.log文件中显示实时数据(图A)。

您可以滚动屏幕的下半部分来查看日志文件的各个部分。例如,向下滚动查看访问者主机名和ip的列表(图B)。

要退出GoAccess,请按键盘上的Q。

四、如何查看网络仪表板

现在,我们将运行GoAccess,以便它将显示基于Web的仪表板。除了基于Web的仪表板更漂亮,更易于阅读之外,两者之间的主要区别在于终端仪表板是实时的,而Web仪表板则是从命令生成的报告中读取的。为此,发出命令:

sudo goaccess /var/log/apache2/access.log --log-format=COMBINED -a -o /var/www/html/report.html

您应该回到终端提示。打开Web浏览器,然后将其指向http://SERVER_IP/report.html(其中SERVER_IP是托管GoAccess和Apache的服务器的IP地址)。您应该以用户友好的格式查看信息(图C)。

五、如何接收实时更新

为了获取服务器上的最新统计信息,您必须再次运行goaccess命令。获得定期更新的唯一方法是创建一个bash脚本,并使其每分钟左右作为cronjob运行。为此,创建一个包含以下内容的bash脚本:

!#/bin/bash

sudo goaccess /var/log/apache2/access.log --log-format=COMBINED -a -o /var/www/html/report.html

将该文件保存在用户的主目录中。接下来,使用以下命令创建一个crontab条目:

sudo crontab -e

cron条目(每分钟运行一次命令)如下所示:

* * * * * /home/USERNAME/goaccess.sh

其中USERNAME是系统上用户的名称。

有了该crontab条目,该report.html文件的每一分钟都会用新数据进行更新。

现在,您可以轻松查看Apache access.log的内容。随时关注Web服务器的各个方面,以享受更高的安全性。