阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

在 Linux 中以交互方式实时查看Apache Web访问统计

217次阅读
没有评论

共计 2189 个字符,预计需要花费 6 分钟才能阅读完成。

无论你是在网站托管业务,还是在自己的 VPS 上运行几个网站,你总会有需要显示访客统计信息,例如前几的访客、访问请求的文件(无论动态或者静态)、所用的带宽、客户端的浏览器,和访问的来源网站,等等。

GoAccess 是一款用于 Apache 或者 Nginx 的命令行日志分析器和交互式查看器。使用这款工具,你不仅可以浏览到之前提及的相关数据,还可以通过分析网站服务器日志来进一步挖掘数据 – 而且 这一切都是在一个终端窗口实时输出的。由于今天的大多数 web 服务器都使用 Debian 的衍生版或者基于 RedHat 的发行版来作为底层操作系统,所以本文中我告诉你如何在 Debian 和 CentOS 中安装和使用 GoAccess。

在 Linux 中以交互方式实时查看 Apache Web 访问统计

 

在 Linux 系统安装 GoAccess

在 Debian,Ubuntu 及其衍生版本,运行以下命令来安装 GoAccess:

  1. # aptitude install goaccess

在 CentOS 中,你将需要使你的 EPEL 仓库可用然后执行以下命令:

  1. # yum install goaccess

在 Fedora,同样使用 yum 命令:

  1. # yum install goaccess

如果你想从源码安装 GoAccess 来使用更多功能(例如 GeoIP 定位功能),需要在你的操作系统安装必需的依赖包,然后按以下步骤进行:

  1. # wget http://tar.goaccess.io/goaccess-0.8.5.tar.gz
  2. # tar -xzvf goaccess-0.8.5.tar.gz
  3. # cd goaccess-0.8.5/
  4. # ./configure --enable-geoip
  5. # make
  6. # make install

以上安装的版本是 0.8.5,但是你也可以在该软件的网站下载页确认是否是最新版本。

由于 GoAccess 不需要后续的配置,一旦安装你就可以马上使用。

 

运行 GoAccess

开始使用 GoAccess,只需要对它指定你的 Apache 访问日志。

对于 Debian 及其衍生版本:

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

基于红帽的发行版:

  1. # goaccess -f /var/log/httpd/access_log

当你第一次启动 GoAccess,你将会看到如下的屏幕中选择日期和日志格式。正如前面所述,你可以按空格键进行选择,并按 F10 确认。至于日期和日志格式,你可能需要参考 Apache 文档来刷新你的记忆。

在这个例子中,选择常见日志格式(Common Log Format(CLF)):

在 Linux 中以交互方式实时查看 Apache Web 访问统计

然后按 F10 确认。你将会从屏幕上看到统计数据。为了简洁起见,这里只显示了首部,也就是日志文件的摘要,如下图所示:

在 Linux 中以交互方式实时查看 Apache Web 访问统计

 

通过 GoAccess 来浏览网站服务器统计数据

你可以按向下的箭头滚动页面,你会发现以下区域,它们是按请求排序的。这里提及的目录顺序可能会根据你的发行版或者你所选的安装方式(从源和库)不同而不同:

  1. 每天唯一访客(来自同样 IP、同一日期和同一浏览器的请求被认为是是唯一访问)

    在 Linux 中以交互方式实时查看 Apache Web 访问统计

  2. 请求的文件(网页 URL)

    在 Linux 中以交互方式实时查看 Apache Web 访问统计

  3. 请求的静态文件(例如,.png 文件,.js 文件等等)

  4. 来源的 URLs(每一个 URL 请求的出处)

  5. HTTP 404 未找到的响应代码

    在 Linux 中以交互方式实时查看 Apache Web 访问统计

  6. 操作系统

  7. 浏览器

  8. 主机地址(客户端 IP 地址)

    在 Linux 中以交互方式实时查看 Apache Web 访问统计

  9. HTTP 状态代码

    在 Linux 中以交互方式实时查看 Apache Web 访问统计

  10. 前几位的来源站点

  11. 来自谷歌搜索引擎的前几位的关键字

如果你想要检查已经存档的日志,你可以通过管道将它们发送给 GoAccess,如下:

在 Debian 及其衍生版本:

  1. # zcat -f /var/log/apache2/access.log* | goaccess

在基于红帽的发行版:

  1. # cat /var/log/httpd/access* | goaccess

如果你需要上述部分的详细报告(1 至 11 项),直接按下其序号再按 O(大写 o),就可以显示出你需要的详细视图。下面的图像显示 5 - O 的输出(先按 5,再按 O)

在 Linux 中以交互方式实时查看 Apache Web 访问统计

如果要显示 GeoIP 位置信息,打开主机部分的详细视图,如前面所述,你将会看到正在请求你的服务器的客户端 IP 地址所在的位置。

在 Linux 中以交互方式实时查看 Apache Web 访问统计

如果你的系统还不是很忙碌,以上提及的章节将不会显示大量的信息,但是这种情形可以通过在你网站服务器越来越多的请求发生改变。

 

保存用于离线分析的报告

有时候你不想每次都实时去检查你的系统状态,可以保存一份在线的分析文件或打印出来。要生成一个 HTML 报告,只需要通过之前提到 GoAccess 命令,将输出来重定向到一个 HTML 文件即可。然后,用 web 浏览器来将这份报告打开即可。

  1. # zcat -f /var/log/apache2/access.log* | goaccess > /var/www/webserverstats.html

一旦报告生成,你将需要点击展开的链接来显示每个类别详细的视图信息:

在 Linux 中以交互方式实时查看 Apache Web 访问统计

可以查看 youtube 视频:https://youtu.be/UVbLuaOpYdg。

正如我们通过这篇文章讨论,GoAccess 是一个非常有价值的工具,它能给系统管理员实时提供可视的 HTTP 统计分析。虽然 GoAccess 的默认输出是标准输出,但是你也可以将他们保存到 JSON,HTML 或者 CSV 文件。这种转换可以让 GoAccess 在监控和显示网站服务器的统计数据时更有用。

GoAccess 的详细介绍:请点这里
GoAccess 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-04/116848.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计2189字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中