TranslateProject/translated/tech/20150215 How to analyze and view Apache web server logs interactively on Linux.md
2015-03-29 20:16:41 +08:00

6.6 KiB
Raw Blame History

如何在Linux中以交互方式分析和查看Apache web服务器日志?

无论你是在网站托管业务还是在自己的VPS上运行几个网站你总会有机会想要显示访客数量例如前几的房客请求使用的文件无论是动态或者是静态带宽的使用客户端的浏览器和相关的网站等等。

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

在Linux系统安装GoAccess

在DebianUbuntu及其衍生版本运行一下命令来安装GoAccess

# aptitude install goaccess 

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

# yum install goaccess

在Fedora同样使用yum命令

# yum install goaccess 

如果你想从源码安装GoAccess来使后续的功能可用例如 GeoIP 的位置),为你的操作系统安装必需的依赖包,按以下步骤进行:

# wget http://tar.goaccess.io/goaccess-0.8.5.tar.gz   
# tar -xzvf goaccess-0.8.5.tar.gz
# cd goaccess-0.8.5/
# ./configure --enable-geoip
# make
# make install 

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

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

运行 GoAccess

开始使用GoAccess只需要对它运行你的Apache访问日志。

对于Debian及其衍生版本

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

基于红帽的发型版本:

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

当你第一次启动GoAccess你将会看到下方屏幕中选择日期和日志格式。正如前面所述你可以选择在空格键和F10之间相互切换。至于日期和日志格式你可能希望参考Apache 文档来刷新你的记忆。

在这个例子中选择常见日志格式CLI

然后按F10.你将会从屏幕中获得统计数据。为了简约,只显示首部,也就是总结日志文件的摘要,如下图所示:

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

当你通过向下的剪头滚动页面,你会发现一下章节,按要求进行排序。这里提及的目录顺序可能会根据你的发型版本或者(从源和库)首选的安装方式:

  1. 每天唯一访客具有同样IP同一日期和统一代理被认为是

  1. 请求的文件网页URL

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

  2. 请求的URLs每一个URL请求的出处

  3. HTTP 404 不能找到响应的代码

  1. 操作系统

  2. 浏览器

  3. 主机客户端IP地址

  1. HTTP 状态代码

  1. 前几位的推荐站点

  2. 在谷歌的搜索引擎使用的排名在前的关键字

如果你还想检查已经存档的日志你可以在GoAccess通过使用管道符号如下。

在Debian及其衍生版本

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

在基于红帽的发型版本:

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

如果你需要任何更多关于以上的详细报告1至11项直接按下章节序号再按O大写o就可以显示出你需要的详细视图。下面的图像显示5-O的输出先按5再按O

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

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

在线保存分析的报告

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

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

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

注释youtube视频

正如我们通过这篇文章讨论GoAccess是一个非常可贵的工具它提供给作为百忙之中的系统管理员一份HTTP统计的静态可是报告。虽然GoAccess默认其输出结果为标准输出但是你也可以将他们保存到JSONHTML或者CSV文件。这样的转换GoAccess将作为一个非常有用的工具来监控和显示网站服务器的统计数据。


via: http://xmodulo.com/interactive-apache-web-server-log-analyzer-linux.html

作者:Gabriel Cánepa 译者:disylee 校对:校对者ID

本文由 LCTT 原创翻译,Linux中国 荣誉推出